Function at 0x409450
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x304
push ebx
push esi
push edi
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x5d672c]
mov ecx, 0x5d683c
push 0x80e2
mov dword [eax + 0x20], 0
cmp dword [0x5d6850], 0xf
cmova ecx, dword [0x5d683c]
xor edx, edx
call fcn.00433760
add esp, 4
mov ecx, 0x475420
call fcn.0041cf00
test al, al
je 0x40a79c
mov ecx, dword [0x5d672c]
xor edx, edx
push str.Background
mov eax, dword [ecx + 0x3e48]
movss xmm0, dword [eax + 0x14]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x18]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
mov ecx, dword [ecx + 0x47c4]
movss dword [esp + 0x34], xmm0
mov esi, dword [eax + 0x264]
mov ecx, dword [ecx]
call fcn.0042de50
mov eax, dword [0x5d672c]
add esp, 4
mov edx, 1
mov ecx, dword [eax + 0x47c4]
push str.Foreground
mov ecx, dword [ecx]
call fcn.0042de50
movss xmm2, dword [esp + 0x30]
lea eax, [esp + 0x34]
movss xmm1, dword [esp + 0x34]
movaps xmm0, xmm2
xorps xmm3, xmm3
add esp, 4
addss xmm0, xmm3
mov ecx, esi
push 0xff000000
push 0xff221114
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, xmm3
push 0xff882044
push 0xff000000
push eax
lea eax, [esp + 0x24]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x54d47c]
addss xmm2, xmm0
addss xmm1, xmm0
push eax
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x4c], xmm1
call fcn.0044ca90
call fcn.00402870
mov esi, dword [0x5d672c]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0
movss xmm0, dword [esi + 0x3788]
lea ecx, [esi + 0x4764]
movss dword [esp + 0x18], xmm0
call fcn.00440c00
push 0
push ecx
lea eax, [esp + 0x18]
mov dword [esi + 0x3788], 0x3f4ccccd
push eax
mov edx, 1
mov dword [esp + 0x1c], 0x43eb0000
xor ecx, ecx
mov dword [esp + 0x20], 0x43c80000
call fcn.00430b20
add esp, 0xc
test al, al
je 0x409756
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x475448
mov dword [esp + 0x18], 0x420c0000
call fcn.00457b00
add esp, 4
test al, al
je 0x409616
mov dword [0x5540a0], 1
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x47544c
mov dword [esp + 0x18], 0x420c0000
call fcn.00457b00
add esp, 4
test al, al
je 0x409656
mov dword [0x5540a0], 2
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x475450
mov dword [esp + 0x18], 0x420c0000
call fcn.00457b00
add esp, 4
test al, al
je 0x409696
mov dword [0x5540a0], 3
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x475454
mov dword [esp + 0x18], 0x420c0000
call fcn.00457b00
add esp, 4
test al, al
je 0x4096d6
mov dword [0x5540a0], 4
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x475458
mov dword [esp + 0x18], 0x420c0000
call fcn.00457b00
add esp, 4
test al, al
je 0x409716
mov dword [0x5540a0], 5
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x47545c
mov dword [esp + 0x18], 0x420c0000
call fcn.00457b00
add esp, 4
test al, al
je 0x409756
mov dword [0x5540a0], 6
call fcn.00430db0
push 0
push ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x43eb0000
push eax
mov edx, 1
mov dword [esp + 0x20], 0x43c80000
xor ecx, ecx
call fcn.00430b20
add esp, 0xc
test al, al
je 0x40a416
mov ecx, dword [0x5d672c]
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
movss xmm0, dword [ecx + 0x37f4]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [0x5540a0]
cmp eax, 1
jne 0x4097e4
call fcn.00419fd0
jmp 0x40a416
cmp eax, 2
jne 0x409ca9
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x409839
mov ecx, 0x473bde
mov esi, ecx
cmp esi, 0xffffffff
jae 0x40982b
mov dl, byte [ecx]
test dl, dl
je 0x40982b
cmp dl, 0x23
jne 0x409825
cmp byte [ecx + 1], dl
je 0x40982b
inc ecx
cmp ecx, 0xffffffff
jb 0x409815
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
push 0x5d54c0
push 0x475460
call fcn.0046ba10
cmp byte [0x5d54c0], 0
je 0x409870
push ecx
push 0x17
push 0x5d5200
push 0x45a6d0
mov edx, 0x5d68b4
mov ecx, 0x47546c
call fcn.0045a750
add esp, 0x10
push ecx
push 0x475470
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x50
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0xa
push eax
push 0x5d525c
mov ecx, 0x475474
call fcn.0045b980
mov ecx, dword [0x5d672c]
add esp, 0x14
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x4098f4
mov ecx, 0x473bdf
mov esi, ecx
cmp esi, 0xffffffff
jae 0x4098e6
mov dl, byte [ecx]
test dl, dl
je 0x4098e6
cmp dl, 0x23
jne 0x4098e0
cmp byte [ecx + 1], dl
je 0x4098e6
inc ecx
cmp ecx, 0xffffffff
jb 0x4098d0
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
movss xmm3, dword [0x54d350]
lea eax, [esp + 0x30]
push ecx
push 0x47547c
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0xc
push eax
push 0x5d6634
mov edx, 4
mov dword [esp + 0x40], 0
mov ecx, 0x475480
call fcn.0045ad00
movss xmm3, dword [0x54d350]
lea eax, [esp + 0x44]
add esp, 0x10
mov dword [esp + 0x34], 0x37
mov edx, 4
mov dword [esp + 0x30], 0
mov ecx, 0x47548c
push 0x475488
push eax
lea eax, [esp + 0x38]
push eax
push 0x5d6630
call fcn.0045ad00
mov eax, dword [0x5d6634]
add esp, 0x14
test eax, eax
jns 0x40997e
xor eax, eax
jmp 0x409988
mov ecx, 0xc
cmp eax, ecx
cmovg eax, ecx
mov dword [0x5d6634], eax
mov eax, dword [0x5d6630]
test eax, eax
jns 0x40999a
xor eax, eax
jmp 0x4099a4
mov ecx, 0x37
cmp eax, ecx
cmovg eax, ecx
push ecx
lea edx, [esp + 0x14]
mov dword [0x5d6630], eax
mov ecx, 0x475494
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.00457b00
add esp, 4
test al, al
je 0x409a14
mov ecx, dword [0x5d6634]
mov eax, dword [0x5d6630]
shl ecx, 4
sub ecx, dword [0x5d6634]
lea eax, [eax + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 2
test ecx, ecx
jle 0x409a14
lea ecx, [esp + 0x10]
mov byte [0x5d6528], 1
call fcn.004026a0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x5d6688], ecx
mov dword [0x5d668c], eax
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
cmp byte [0x5d6528], 0
je 0x409b35
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov ecx, 0x4754a0
mov dword [esp + 0x18], 0
call fcn.00457b00
add esp, 4
test al, al
je 0x409a63
mov byte [0x5d6528], 0
jmp 0x409b35
cmp byte [0x5d6528], 0
je 0x409b35
lea ecx, [esp + 0x10]
call fcn.004026a0
mov ecx, dword [esp + 0x10]
sub ecx, dword [0x5d6688]
mov eax, dword [esp + 0x14]
sbb eax, dword [0x5d668c]
push 0
push 0x3b9aca00
push eax
push ecx
call fcn.00470120
mov edx, dword [0x5d6634]
mov ecx, dword [0x5d6630]
shl edx, 4
sub edx, dword [0x5d6634]
lea ecx, [ecx + edx*4]
mov edi, ecx
shl edi, 4
sub edi, ecx
shl edi, 2
sub edi, eax
test edi, edi
jg 0x409ad6
mov ecx, 0x4754ac
mov byte [0x5d6528], 0
call fcn.00409390
jmp 0x409b35
mov eax, 0x91a2b3c5
imul edi
mov eax, 0x88888889
add edx, edi
sar edx, 0xb
mov esi, edx
shr esi, 0x1f
add esi, edx
imul edi
mov eax, 0x88888889
add edx, edi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, edi
shl edx, 2
sub ecx, edx
push ecx
imul ecx, esi, 0xe10
sub edi, ecx
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
push 0x4754d4
call fcn.004570b0
add esp, 0x10
call fcn.00436470
mov ecx, dword [0x5d672c]
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x409b8c
mov ecx, 0x473bea
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409b7e
mov dl, byte [ecx]
test dl, dl
je 0x409b7e
cmp dl, 0x23
jne 0x409b78
cmp byte [ecx + 1], dl
je 0x409b7e
inc ecx
cmp ecx, 0xffffffff
jb 0x409b68
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
push 0x5d68c9
push str.Battle_Hub
call fcn.0046ba10
cmp byte [0x5d68c9], 0
je 0x409bab
mov byte [0x5d68c0], 0
push 0x5d68c0
push str.Fighting_Ground
call fcn.0046ba10
cmp byte [0x5d68c0], 0
je 0x409bca
mov byte [0x5d68c9], 0
push 0x5d68c9
push 0x475518
call fcn.0046ba10
cmp byte [0x5d68c9], 0
je 0x409be9
mov byte [0x5d68c0], 0
push 0x5d68c0
push 0x475524
call fcn.0046ba10
cmp byte [0x5d68c0], 0
je 0x409c08
mov byte [0x5d68c9], 0
mov esi, dword [0x5d672c]
mov edx, dword [esi + 0x46a0]
dec dword [esi + 0x4788]
dec word [esi + 0x5a04]
mov ecx, dword [esi + 0x4788]
mov eax, dword [esi + 0x4790]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x46a0], eax
test dl, 1
je 0x409c4f
test al, 4
jne 0x409c4f
mov eax, dword [esi + 0x5a00]
mov dword [esi + 0x3788], eax
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a416
mov ecx, 0x473beb
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409c96
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x409c96
cmp dl, 0x23
jne 0x409c90
cmp byte [ecx + 1], dl
je 0x409c96
inc ecx
cmp ecx, 0xffffffff
jb 0x409c80
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
jmp 0x40a416
cmp eax, 3
jne 0x409e6f
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x409d0a
mov ecx, str._Misc_
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409cf6
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x409cf6
cmp dl, 0x23
jne 0x409cf0
cmp byte [ecx + 1], dl
je 0x409cf6
inc ecx
cmp ecx, 0xffffffff
jb 0x409ce0
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
mov ecx, dword [0x5d672c]
add esp, 4
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x409d56
mov ecx, 0x473bfe
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409d48
mov dl, byte [ecx]
test dl, dl
je 0x409d48
cmp dl, 0x23
jne 0x409d42
cmp byte [ecx + 1], dl
je 0x409d48
inc ecx
cmp ecx, 0xffffffff
jb 0x409d32
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
call fcn.00436470
push 0x5d68b9
push str.Try_Perfect_K.O.
call fcn.0046ba10
push 0x5d68b9
push str.Perfect_Parry
call fcn.0046ba10
push 0x5d68b9
push str.Drive_Impact
call fcn.0046ba10
push 0x5d68b9
push str.Lock
call fcn.0046ba10
push 0x5d68b9
push str.Punish_Counter
call fcn.0046ba10
push 0x5d68b9
push str.Drive_Rush
call fcn.0046ba10
push 0x5d68b9
push str.Jump
call fcn.0046ba10
push 0x5d68b9
push str.Throw
call fcn.0046ba10
mov esi, dword [0x5d672c]
mov edx, dword [esi + 0x46a0]
dec dword [esi + 0x4788]
dec word [esi + 0x5a04]
mov ecx, dword [esi + 0x4788]
mov eax, dword [esi + 0x4790]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x46a0], eax
test dl, 1
je 0x409e1a
test al, 4
jne 0x409e1a
mov eax, dword [esi + 0x5a00]
mov dword [esi + 0x3788], eax
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a416
mov ecx, 0x473bff
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409e5c
mov dl, byte [ecx]
test dl, dl
je 0x409e5c
cmp dl, 0x23
jne 0x409e56
cmp byte [ecx + 1], dl
je 0x409e5c
inc ecx
cmp ecx, 0xffffffff
jb 0x409e46
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
jmp 0x40a416
cmp eax, 4
jne 0x40a12f
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x409ec4
mov ecx, str.Only_For_Advanced_Modder
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409eb6
mov dl, byte [ecx]
test dl, dl
je 0x409eb6
cmp dl, 0x23
jne 0x409eb0
cmp byte [ecx + 1], dl
je 0x409eb6
inc ecx
cmp ecx, 0xffffffff
jb 0x409ea0
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
call fcn.00436470
push 0x5d68b9
push str.MotionKey
call fcn.0046ba10
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
mov ecx, str.activates_an_animation.
call fcn.00408f80
push 0x5d68b9
push str.AttackCollisionKey
call fcn.0046ba10
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
mov ecx, str.activates_a_hitbox_rectangle_from_the_characters_rectangle_list_over_a_frame_range.
call fcn.00408f80
push 0x5d68b9
push str.DamageCollisionKey
call fcn.0046ba10
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
mov ecx, str.activates_a_hurtbox_rectangle_over_a_frame_range.
call fcn.00408f80
push 0x5d68b9
push str.TriggerKey
call fcn.0046ba10
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
mov ecx, str.determines_the_moves_cancel_list.
call fcn.00408f80
push 0x5d68b9
push str.VfxKey
call fcn.0046ba10
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
mov ecx, str.plays_a_visual_effect.
call fcn.00408f80
push 0x5d6889
push str.Moveset_Research
call fcn.0046ba10
push 0
push 0
push 0
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push 0x100
push 0x5d6530
xor edx, edx
mov dword [esp + 0x2c], 0
mov ecx, 0x473c0f
call fcn.0045e550
add esp, 0x18
push 0x5d6891
push str.Action_Data
call fcn.0046ba10
sub esp, 8
mov dword [esp + 0x18], 0x43960000
lea edx, [esp + 0x18]
mov dword [esp + 0x1c], 0x42480000
call fcn.00430d30
add esp, 8
test al, al
je 0x40a093
mov esi, 0x5d6638
push 0x5d6530
push dword [esi]
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x40a083
push dword [esi]
push 0x475708
call fcn.004570b0
add esp, 8
add esi, 4
cmp esi, 0x5d6684
jl 0x40a060
call fcn.00430db0
mov esi, dword [0x5d672c]
mov edx, dword [esi + 0x46a0]
dec dword [esi + 0x4788]
dec word [esi + 0x5a04]
mov ecx, dword [esi + 0x4788]
mov eax, dword [esi + 0x4790]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x46a0], eax
test dl, 1
je 0x40a0da
test al, 4
jne 0x40a0da
mov eax, dword [esi + 0x5a00]
mov dword [esi + 0x3788], eax
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a416
mov ecx, 0x473c19
mov esi, ecx
cmp esi, 0xffffffff
jae 0x40a11c
mov dl, byte [ecx]
test dl, dl
je 0x40a11c
cmp dl, 0x23
jne 0x40a116
cmp byte [ecx + 1], dl
je 0x40a11c
inc ecx
cmp ecx, 0xffffffff
jb 0x40a106
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
jmp 0x40a416
cmp eax, 5
jne 0x40a40c
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a184
mov ecx, 0x47570c
mov esi, ecx
cmp esi, 0xffffffff
jae 0x40a176
mov dl, byte [ecx]
test dl, dl
je 0x40a176
cmp dl, 0x23
jne 0x40a170
cmp byte [ecx + 1], dl
je 0x40a176
inc ecx
cmp ecx, 0xffffffff
jb 0x40a160
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
add esp, 4
call dword [sym.imp.WINMM.dll_joyGetNumDevs]
mov edi, eax
xor esi, esi
test edi, edi
je 0x40a263
mov ebx, 0x473c1a
nop dword [eax + eax]
push 0x2d8
lea eax, [esp + 0x3c]
push eax
push esi
call dword [sym.imp.WINMM.dll_joyGetDevCapsW]
test eax, eax
jne 0x40a25a
push esi
push 0x475718
call fcn.004570b0
lea eax, [esp + 0x44]
push eax
push 0x475728
call fcn.004570b0
lea eax, [esp + 0x118]
push eax
push 0x475734
call fcn.004570b0
push dword [esp + 0xac]
push 0x475748
call fcn.004570b0
push dword [esp + 0xe0]
push 0x475760
call fcn.004570b0
mov ecx, dword [0x5d672c]
add esp, 0x28
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a25a
mov ecx, 0x473c1a
cmp ebx, 0xffffffff
jae 0x40a24c
mov dl, byte [ecx]
test dl, dl
je 0x40a24c
cmp dl, 0x23
jne 0x40a246
cmp byte [ecx + 1], dl
je 0x40a24c
inc ecx
cmp ecx, 0xffffffff
jb 0x40a236
push ecx
xorps xmm3, xmm3
mov edx, ebx
call fcn.00459910
add esp, 4
inc esi
cmp esi, edi
jb 0x40a1a0
xor esi, esi
mov edi, 0x473c1b
nop word [eax + eax]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
push eax
push esi
movaps xmmword [esp + 0x18], xmm0
call dword [sym.imp.XINPUT1_3.dll_Ordinal_2]
test eax, eax
jne 0x40a2f4
push esi
push 0x475774
call fcn.004570b0
push 0x475780
call fcn.004570b0
mov ecx, dword [0x5d672c]
add esp, 0xc
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a2f4
mov ecx, 0x473c1b
cmp edi, 0xffffffff
jae 0x40a2e6
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x40a2e6
cmp dl, 0x23
jne 0x40a2e0
cmp byte [ecx + 1], dl
je 0x40a2e6
inc ecx
cmp ecx, 0xffffffff
jb 0x40a2d0
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00459910
add esp, 4
inc esi
cmp esi, 4
jb 0x40a270
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0x42be0000
mov ecx, 0x5d586c
mov dword [esp + 0x14], 0x41e00000
call fcn.00407670
call fcn.00436470
push 0x5d68b9
push 0x475794
call fcn.0046ba10
mov esi, dword [0x5d672c]
mov edx, dword [esi + 0x46a0]
dec dword [esi + 0x4788]
dec word [esi + 0x5a04]
mov ecx, dword [esi + 0x4788]
mov eax, dword [esi + 0x4790]
shr edx, 2
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x46a0], eax
test dl, 1
je 0x40a377
test al, 4
jne 0x40a377
mov eax, dword [esi + 0x5a00]
mov dword [esi + 0x3788], eax
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a3ca
mov ecx, 0x473c22
mov esi, ecx
cmp esi, 0xffffffff
jae 0x40a3b6
nop
mov dl, byte [ecx]
test dl, dl
je 0x40a3b6
cmp dl, 0x23
jne 0x40a3b0
cmp byte [ecx + 1], dl
je 0x40a3b6
inc ecx
cmp ecx, 0xffffffff
jb 0x40a3a0
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00459910
mov esi, dword [0x5d672c]
add esp, 4
mov eax, dword [esi + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
movss xmm0, dword [eax + 0x134]
subss xmm0, dword [esi + 0x37f4]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
jmp 0x40a416
cmp eax, 6
jne 0x40a416
call fcn.00418620
call fcn.00430db0
push 0
push ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x43eb0000
push eax
mov edx, 3
mov dword [esp + 0x20], 0x42a00000
xor ecx, ecx
call fcn.00430b20
add esp, 0xc
test al, al
je 0x40a78b
mov esi, dword [0x5d672c]
movss xmm3, dword [0x54d4a0]
push 0
push 0
mov eax, dword [esi + 0x3e48]
push str.License:N_A______.f_MS_____.f_FPS_____HideMenu______PGDN___
push ecx
mov dword [esp], 0xbf800000
movss xmm0, dword [eax + 0xf4]
movss xmm1, dword [eax + 0x22c]
movaps xmm2, xmm0
subss xmm2, dword [eax + 0x18]
subss xmm1, xmm0
addss xmm2, dword [eax + 0x7c]
subss xmm1, dword [0x54d424]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
mulss xmm1, dword [0x54d310]
mov byte [eax + 0x131], 1
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [eax + 0x7c]
addss xmm2, xmm1
addss xmm0, xmm2
movss dword [eax + 0xf4], xmm0
mov eax, dword [esi + 0x3e48]
movss xmm0, dword [esi + 0xa0]
movss xmm2, dword [esi + 0x3bb8]
mov ecx, dword [esi + 0x3bb4]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [eax + 0x1c]
lea eax, [esp + 0x20]
push eax
movss dword [esp + 0x44], xmm0
call fcn.00450890
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x54d348]
mov eax, dword [esi + 0x3e48]
movss xmm1, dword [esp + 0x30]
push 0x4757e0
mov byte [eax + 0xac], 1
mov ecx, dword [esi + 0x3e48]
cvttss2si eax, xmm0
mov byte [ecx + 0x131], 1
movd xmm0, eax
lea eax, [esp + 0x14]
cvtdq2ps xmm0, xmm0
push eax
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x14]
subss xmm0, dword [ecx + 0x78]
mulss xmm1, dword [0x54d310]
addss xmm1, xmm0
movaps xmm0, xmmword [0x54d650]
movups xmmword [esp + 0x18], xmm0
movss dword [ecx + 0xf0], xmm1
call fcn.00457170
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push 0x4757ec
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 0xc
xorps xmm0, xmm0
call fcn.00438f30
movaps xmm0, xmmword [0x54d650]
lea eax, [esp + 0x10]
movups xmmword [esp + 0x10], xmm0
sub esp, 8
movss xmm0, dword [0x54d418]
divss xmm0, dword [esp + 0x34]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x4757f0
push eax
call fcn.00457170
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push 0x4757f8
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 0x14
xorps xmm0, xmm0
call fcn.00438f30
movaps xmm0, xmmword [0x54d650]
lea eax, [esp + 0x10]
sub esp, 8
movups xmmword [esp + 0x18], xmm0
movsd xmm0, qword [0x54d3b0]
movsd qword [esp], xmm0
push 0x4757fc
push eax
call fcn.00457170
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push 0x475804
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 0x14
xorps xmm0, xmm0
call fcn.00438f30
push 0x475808
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 4
xorps xmm0, xmm0
call fcn.00438f30
movaps xmm0, xmmword [0x54d650]
lea eax, [esp + 0x10]
push 0x475810
push eax
movups xmmword [esp + 0x18], xmm0
call fcn.00457170
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
push 0x47581c
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 0xc
xorps xmm0, xmm0
call fcn.00438f30
push 0x475820
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 4
xorps xmm0, xmm0
call fcn.00438f30
push 0x475824
call fcn.004570b0
movss xmm1, dword [0x54d4c8]
add esp, 4
xorps xmm0, xmm0
call fcn.00438f30
push 0x47582c
call fcn.004570b0
mov ecx, dword [0x5d672c]
add esp, 4
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40a750
movss xmm1, dword [0x54d4c8]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00438ba0
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x42200000
mov ecx, 0x475830
mov dword [esp + 0x18], 0x41f00000
call fcn.00457b00
add esp, 4
test al, al
jne 0x40a79c
movss xmm1, dword [0x54d4c8]
xorps xmm0, xmm0
call fcn.00438f30
call fcn.00407800
call fcn.00430db0
call fcn.00435c90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00409360
int3