0047F728 803B00 cmp byte ptr [ebx], 00h ;persistent管理変数と0を比較 0047F72B 7554 jne 0047F781h ;0でなければ処理しないのでジャンプ 0047F72D 8B86180E0000 mov eax, [esi+00000E18h] ;hitpausetimeの値取得 0047F733 85C0 test eax, eax ;0か否か 0047F735 7407 jz 0047F73Eh ;0なら特に問題ないのでジャンプ 0047F737 8B470C mov eax, [edi+0Ch] ;ignorehitpauseの値取得 0047F73A 85C0 test eax, eax ;0か否か 0047F73C 7443 jz 0047F781h ;0なら処理しないのでジャンプ 0047F73E 8D8EBC330000 lea ecx, [esi+000033BCh] ;キャラ構造体中のなんかへのポインタ、0xFFFFFFFFFになってたけども…… 0047F744 51 push ecx ;積む 0047F745 E8E657FBFF call 00434F30h ;関数呼び出し、処理は見てない 0047F74A 8B5704 mov edx, [edi+04h] ;ステコンの存在フラグみたいなの 0047F74D 8B07 mov eax, [edi] ;triggerとかの情報へのポインタ 0047F74F 52 push edx ;積む 0047F750 50 push eax ;積む 0047F751 56 push esi ;積む 0047F752 E8B9B0FFFF call 0047A810h ;関数呼び出し、多分ステコンを実行するか否かの判定 0047F757 83C410 add esp, 10h ;スタック修正 0047F75A 85C0 test eax, eax ;戻り値が0か否か 0047F75C 7423 jz 0047F781h ;0なら実行しないのでジャンプ 0047F75E 8B4708 mov eax, [edi+08h] ;persistentの値取得 0047F761 85C0 test eax, eax ;0もしくは負数か否か 0047F763 7E06 jle 0047F76Bh ;0もしくは負数ならジャンプ 0047F765 8AC8 mov cl, al ;下1byteだけコピー 0047F767 880B mov [ebx], cl ;persistent管理変数へ書き込み 0047F769 EB03 jmp 0047F76Eh ;ジャンプ 0047F76B C60301 mov byte ptr [ebx], 01h ;persistentが0ならpersistent管理変数へ1を書き込む 0047F76E 8D542410 lea edx, [esp+10h] ;多分、敵本体アドレスを指すポインタ 0047F772 52 push edx ;積む 0047F773 57 push edi ;積む、ステコンのアドレス 0047F774 56 push esi ;積む、自身のアドレス 0047F775 E8D6EFFEFF call 0046E750h ;関数呼び出し、多分ステコンの処理 0047F77A 83C40C add esp, 0Ch ;スタック修正 0047F77D 85C0 test eax, eax ;戻り値が0か否か、多分ステート移動系のステコンか否か 0047F77F 7542 jnz 0047F7C3h ;ステート移動系なら飛ぶ 0047F781 8B4708 mov eax, [edi+08h] ;persistentの値取得 0047F784 85C0 test eax, eax ;0もしくは負数か否か 0047F786 7E1C jle 0047F7A4h ;0もしくは負数なら飛ぶ 0047F788 8B86180E0000 mov eax, [esi+00000E18h] ;hitpausetimeの値取得 0047F78E 85C0 test eax, eax ;0か否か 0047F790 7407 jz 0047F799h ;0なら飛ぶ 0047F792 8B470C mov eax, [edi+0Ch] ;ignorehitpauseの値取得 0047F795 85C0 test eax, eax ;0か否か 0047F797 740B jz 0047F7A4h ;0なら飛ぶ 0047F799 8A03 mov al, [ebx] ;persistent管理変数の値をコピー 0047F79B FEC8 dec al ;-1する 0047F79D 8803 mov [ebx], al ;persistent管理変数に戻す 0047F79F 7903 jns 0047F7A4h ;負数でないならジャンプ、つまり符号なしの127以下ならジャンプ 0047F7A1 C60300 mov byte ptr [ebx], 00h ;persistent管理変数に0を代入 0047F7A4 8B4500 mov eax, [ebp+00h] ;なんかの情報 0047F7A7 50 push eax ;積む 0047F7A8 E8039BF8FF call 004092B0h ;関数呼び出し、次に処理するステコンのアドレス取得だと思う 0047F7AD 83C404 add esp, 04h ;スタック修正 0047F7B0 8BF8 mov edi, eax ;コピー 0047F7B2 43 inc ebx ;persistent管理変数を次のに進める 0047F7B3 85FF test edi, edi ;ステコンがあるのかどうか 0047F7B5 0F856DFFFFFF jnz 0047F728h ;あるならまた最初からなので、飛ぶ 0047F7BB 5F pop edi 0047F7BC 5E pop esi 0047F7BD 5D pop ebp 0047F7BE 5B pop ebx 0047F7BF 83C414 add esp, 14h 0047F7C2 C3 ret ;終了 0047F7C3 5F pop edi ;多分、ステート移動系のステコンだった場合用 0047F7C4 5E pop esi 0047F7C5 5D pop ebp 0047F7C6 B801000000 mov eax, 00000001h ;戻り値 0047F7CB 5B pop ebx 0047F7CC 83C414 add esp, 14h 0047F7CF C3 ret ;終了