Function at 0x408670
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 [0xb15720]
mov ecx, 0xb15728
push 0x80e2
mov dword [eax + 0x20], 0
cmp dword [0xb1573c], 0xf
cmova ecx, dword [0xb15728]
xor edx, edx
call fcn.004305f0
add esp, 4
mov ecx, str.StreetFighter6.exe
call fcn.0041a4a0
test al, al
je 0x4099b1
mov ecx, dword [0xb15720]
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.0042ac30
mov eax, dword [0xb15720]
add esp, 4
mov edx, 1
mov ecx, dword [eax + 0x47c4]
push str.Foreground
mov ecx, dword [ecx]
call fcn.0042ac30
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 [0xa8c5a4]
addss xmm2, xmm0
addss xmm1, xmm0
push eax
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x4c], xmm1
call fcn.00449820
call fcn.00402710
mov esi, dword [0xb15720]
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.0043da60
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.0042d9d0
add esp, 0xc
test al, al
je 0x408976
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x470a4c
mov dword [esp + 0x18], 0x420c0000
call fcn.00454240
add esp, 4
test al, al
je 0x408836
mov dword [0xa936d0], 1
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x470a50
mov dword [esp + 0x18], 0x420c0000
call fcn.00454240
add esp, 4
test al, al
je 0x408876
mov dword [0xa936d0], 2
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x470a54
mov dword [esp + 0x18], 0x420c0000
call fcn.00454240
add esp, 4
test al, al
je 0x4088b6
mov dword [0xa936d0], 3
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x470a58
mov dword [esp + 0x18], 0x420c0000
call fcn.00454240
add esp, 4
test al, al
je 0x4088f6
mov dword [0xa936d0], 4
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x470a5c
mov dword [esp + 0x18], 0x420c0000
call fcn.00454240
add esp, 4
test al, al
je 0x408936
mov dword [0xa936d0], 5
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x428c0000
mov ecx, 0x470a60
mov dword [esp + 0x18], 0x420c0000
call fcn.00454240
add esp, 4
test al, al
je 0x408976
mov dword [0xa936d0], 6
call fcn.0042dc60
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.0042d9d0
add esp, 0xc
test al, al
je 0x40962b
mov ecx, dword [0xb15720]
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 [0xa936d0]
cmp eax, 1
jne 0x408a04
call fcn.00418130
jmp 0x40962b
cmp eax, 2
jne 0x408ec0
mov eax, dword [ecx + 0x3e48]
mov edi, 0x46f77a
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x408a59
mov ecx, edi
cmp edi, 0xffffffff
jae 0x408a4b
mov dl, byte [ecx]
test dl, dl
je 0x408a4b
cmp dl, 0x23
jne 0x408a45
cmp byte [ecx + 1], dl
je 0x408a4b
inc ecx
cmp ecx, 0xffffffff
jb 0x408a35
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
push 0xa932f8
push str.Bot_Script
call fcn.00468030
cmp byte [0xa932f8], 0
je 0x408a90
push ecx
push 0x15
push 0xa93610
push 0x456e10
mov edx, 0xb15888
mov ecx, 0x470a70
call fcn.00456e90
add esp, 0x10
sub esp, 8
mov dword [esp + 0x38], 0x50
lea eax, [esp + 0x38]
mov dword [esp + 0x34], 0xa
mov ecx, str.Delay
push eax
lea eax, [esp + 0x38]
push eax
push 0xa930a0
call fcn.004580b0
mov ecx, dword [0xb15720]
add esp, 0x14
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x408b14
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x408b06
nop dword [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x408b06
cmp dl, 0x23
jne 0x408b00
cmp byte [ecx + 1], dl
je 0x408b06
inc ecx
cmp ecx, 0xffffffff
jb 0x408af0
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
movss xmm3, dword [0xa8c478]
lea eax, [esp + 0x30]
push ecx
push 0x470a74
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0xc
push eax
push 0xb156ac
mov edx, 4
mov dword [esp + 0x40], 0
mov ecx, str.Hours
call fcn.00457430
movss xmm3, dword [0xa8c478]
lea eax, [esp + 0x44]
add esp, 0x10
mov dword [esp + 0x34], 0x37
mov edx, 4
mov dword [esp + 0x30], 0
mov ecx, str.Minutes
push 0x470a74
push eax
lea eax, [esp + 0x38]
push eax
push 0xb15658
call fcn.00457430
mov eax, dword [0xb156ac]
add esp, 0x14
test eax, eax
jns 0x408b9e
xor eax, eax
jmp 0x408ba8
mov ecx, 0xc
cmp eax, ecx
cmovg eax, ecx
mov dword [0xb156ac], eax
mov eax, dword [0xb15658]
test eax, eax
jns 0x408bba
xor eax, eax
jmp 0x408bc4
mov ecx, 0x37
cmp eax, ecx
cmovg eax, ecx
push ecx
lea edx, [esp + 0x14]
mov dword [0xb15658], eax
mov ecx, str.Run_Time
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.00454240
add esp, 4
test al, al
je 0x408c34
mov ecx, dword [0xb156ac]
mov eax, dword [0xb15658]
shl ecx, 4
sub ecx, dword [0xb156ac]
lea eax, [eax + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 2
test ecx, ecx
jle 0x408c34
lea ecx, [esp + 0x10]
mov byte [0xb1565c], 1
call fcn.00402540
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0xb156b0], ecx
mov dword [0xb156b4], eax
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
cmp byte [0xb1565c], 0
je 0x408d55
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov ecx, str.Cancel_Time
mov dword [esp + 0x18], 0
call fcn.00454240
add esp, 4
test al, al
je 0x408c83
mov byte [0xb1565c], 0
jmp 0x408d55
cmp byte [0xb1565c], 0
je 0x408d55
lea ecx, [esp + 0x10]
call fcn.00402540
mov ecx, dword [esp + 0x10]
sub ecx, dword [0xb156b0]
mov eax, dword [esp + 0x14]
sbb eax, dword [0xb156b4]
push 0
push 0x3b9aca00
push eax
push ecx
call fcn.0046c350
mov edx, dword [0xb156ac]
mov ecx, dword [0xb15658]
shl edx, 4
sub edx, dword [0xb156ac]
lea edx, [ecx + edx*4]
mov ebx, edx
shl ebx, 4
sub ebx, edx
shl ebx, 2
sub ebx, eax
test ebx, ebx
jg 0x408cf6
mov ecx, str.StreetFighter6.exe
mov byte [0xb1565c], 0
call fcn.00408580
jmp 0x408d55
mov eax, 0x91a2b3c5
imul ebx
mov eax, 0x88888889
add edx, ebx
sar edx, 0xb
mov esi, edx
shr esi, 0x1f
add esi, edx
imul ebx
mov eax, 0x88888889
add edx, ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, ebx
shl edx, 2
sub ecx, edx
push ecx
imul ecx, esi, 0xe10
sub ebx, ecx
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
push str.Remaining_Time_To_Close:__02d:_02d:_02d
call fcn.004537f0
add esp, 0x10
call fcn.004332f0
mov ecx, dword [0xb15720]
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x408daa
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x408d9c
mov dl, byte [ecx]
test dl, dl
je 0x408d9c
cmp dl, 0x23
jne 0x408d96
cmp byte [ecx + 1], dl
je 0x408d9c
inc ecx
cmp ecx, 0xffffffff
jb 0x408d86
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
push 0xb15865
push str.Battle_Hub
call fcn.00468030
cmp byte [0xb15865], 0
je 0x408dc9
mov byte [0xb15866], 0
push 0xb15866
push str.Fighting_Ground
call fcn.00468030
cmp byte [0xb15866], 0
je 0x408de8
mov byte [0xb15865], 0
push 0xb15865
push str.Run_Script
call fcn.00468030
cmp byte [0xb15865], 0
je 0x408e07
mov byte [0xb15866], 0
push 0xb15866
push str.Run_Bot
call fcn.00468030
cmp byte [0xb15866], 0
je 0x408e26
mov byte [0xb15865], 0
mov esi, dword [0xb15720]
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 0x408e6d
test al, 4
jne 0x408e6d
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 0x40962b
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x408ead
mov dl, byte [ecx]
test dl, dl
je 0x408ead
cmp dl, 0x23
jne 0x408ea7
cmp byte [ecx + 1], dl
je 0x408ead
inc ecx
cmp ecx, 0xffffffff
jb 0x408e97
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
jmp 0x40962b
cmp eax, 3
jne 0x40907e
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x408f1b
mov ecx, str._Misc_
mov esi, ecx
cmp esi, 0xffffffff
jae 0x408f07
mov dl, byte [ecx]
test dl, dl
je 0x408f07
cmp dl, 0x23
jne 0x408f01
cmp byte [ecx + 1], dl
je 0x408f07
inc ecx
cmp ecx, 0xffffffff
jb 0x408ef1
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00456050
mov ecx, dword [0xb15720]
add esp, 4
mov eax, dword [ecx + 0x3e48]
mov edi, 0x46f77a
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x408f67
mov ecx, edi
cmp edi, 0xffffffff
jae 0x408f59
mov dl, byte [ecx]
test dl, dl
je 0x408f59
cmp dl, 0x23
jne 0x408f53
cmp byte [ecx + 1], dl
je 0x408f59
inc ecx
cmp ecx, 0xffffffff
jb 0x408f43
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
call fcn.004332f0
push 0xb15890
push str.Try_Perfect_K.O.
call fcn.00468030
push 0xb15890
push str.Perfect_Parry
call fcn.00468030
push 0xb15890
push str.Drive_Impact
call fcn.00468030
push 0xb15890
push str.Lock
call fcn.00468030
push 0xb15890
push str.Punish_Counter
call fcn.00468030
push 0xb15890
push str.Drive_Rush
call fcn.00468030
push 0xb15890
push str.Jump
call fcn.00468030
push 0xb15890
push str.Throw
call fcn.00468030
mov esi, dword [0xb15720]
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 0x40902b
test al, 4
jne 0x40902b
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 0x40962b
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x40906b
mov dl, byte [ecx]
test dl, dl
je 0x40906b
cmp dl, 0x23
jne 0x409065
cmp byte [ecx + 1], dl
je 0x40906b
inc ecx
cmp ecx, 0xffffffff
jb 0x409055
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
jmp 0x40962b
cmp eax, 4
jne 0x409349
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x4090d4
mov ecx, str.Only_For_Advanced_Modder
mov esi, ecx
cmp esi, 0xffffffff
jae 0x4090c6
nop
mov dl, byte [ecx]
test dl, dl
je 0x4090c6
cmp dl, 0x23
jne 0x4090c0
cmp byte [ecx + 1], dl
je 0x4090c6
inc ecx
cmp ecx, 0xffffffff
jb 0x4090b0
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00456050
add esp, 4
call fcn.004332f0
push 0xb15890
push str.MotionKey
call fcn.00468030
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
mov ecx, str.activates_an_animation.
call fcn.00408170
push 0xb15890
push str.AttackCollisionKey
call fcn.00468030
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
mov ecx, str.activates_a_hitbox_rectangle_from_the_characters_rectangle_list_over_a_frame_range.
call fcn.00408170
push 0xb15890
push str.DamageCollisionKey
call fcn.00468030
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
mov ecx, str.activates_a_hurtbox_rectangle_over_a_frame_range.
call fcn.00408170
push 0xb15890
push str.TriggerKey
call fcn.00468030
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
mov ecx, str.determines_the_moves_cancel_list.
call fcn.00408170
push 0xb15890
push str.VfxKey
call fcn.00468030
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
mov ecx, str.plays_a_visual_effect.
call fcn.00408170
push 0xb15898
push str.Moveset_Research
call fcn.00468030
push 0
push 0
push 0
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push 0x100
mov edi, 0x46f77a
mov dword [esp + 0x28], 0
push 0xb15558
xor edx, edx
mov ecx, edi
call fcn.0045ac50
add esp, 0x18
push 0xb15884
push str.Action_Data
call fcn.00468030
sub esp, 8
mov dword [esp + 0x18], 0x43960000
lea edx, [esp + 0x18]
mov dword [esp + 0x1c], 0x42480000
call fcn.0042dbe0
add esp, 8
test al, al
je 0x4092af
mov ebx, dword [sym.imp.VCRUNTIME140.dll_strstr]
mov esi, 0xb15660
nop dword [eax + eax]
push 0xb15558
push dword [esi]
call ebx
add esp, 8
test eax, eax
je 0x40929f
push dword [esi]
push 0x470ce0
call fcn.004537f0
add esp, 8
add esi, 4
cmp esi, 0xb156ac
jl 0x409280
call fcn.0042dc60
mov esi, dword [0xb15720]
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 0x4092f6
test al, 4
jne 0x4092f6
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 0x40962b
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x409336
mov dl, byte [ecx]
test dl, dl
je 0x409336
cmp dl, 0x23
jne 0x409330
cmp byte [ecx + 1], dl
je 0x409336
inc ecx
cmp ecx, 0xffffffff
jb 0x409320
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
jmp 0x40962b
cmp eax, 5
jne 0x409621
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x4093a4
mov ecx, str.Controls
mov esi, ecx
cmp esi, 0xffffffff
jae 0x409396
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x409396
cmp dl, 0x23
jne 0x409390
cmp byte [ecx + 1], dl
je 0x409396
inc ecx
cmp ecx, 0xffffffff
jb 0x409380
push ecx
xorps xmm3, xmm3
mov edx, esi
call fcn.00456050
add esp, 4
call dword [sym.imp.WINMM.dll_joyGetNumDevs]
mov ebx, eax
xor esi, esi
mov edi, 0x46f77a
test ebx, ebx
je 0x409483
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 0x40947a
push esi
push str.Game_Device__d:
call fcn.004537f0
lea eax, [esp + 0x44]
push eax
push str.Name:__s
call fcn.004537f0
lea eax, [esp + 0x118]
push eax
push str.Manufacturer:__s
call fcn.004537f0
push dword [esp + 0xac]
push str.Number_of_Buttons:__d
call fcn.004537f0
push dword [esp + 0xe0]
push str.Number_of_Axes:__d
call fcn.004537f0
mov ecx, dword [0xb15720]
add esp, 0x28
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40947a
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x40946c
mov dl, byte [ecx]
test dl, dl
je 0x40946c
cmp dl, 0x23
jne 0x409466
cmp byte [ecx + 1], dl
je 0x40946c
inc ecx
cmp ecx, 0xffffffff
jb 0x409456
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
inc esi
cmp esi, ebx
jb 0x4093c0
mov ebx, dword [sym.imp.XINPUT1_3.dll_Ordinal_2]
xor esi, esi
nop dword [eax + eax]
lea eax, [esp + 0x10]
xorps xmm0, xmm0
push eax
push esi
movaps xmmword [esp + 0x18], xmm0
call ebx
test eax, eax
jne 0x40950c
push esi
push str.Device__d:
call fcn.004537f0
push str.Is_Connected:_Yes
call fcn.004537f0
mov ecx, dword [0xb15720]
add esp, 0xc
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x40950c
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x4094fe
mov dl, byte [ecx]
test dl, dl
je 0x4094fe
cmp dl, 0x23
jne 0x4094f8
cmp byte [ecx + 1], dl
je 0x4094fe
inc ecx
cmp ecx, 0xffffffff
jb 0x4094e8
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
add esp, 4
inc esi
cmp esi, 4
jb 0x409490
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0x42be0000
mov ecx, 0xb148a8
mov dword [esp + 0x14], 0x41e00000
call fcn.00406b50
call fcn.004332f0
push 0xb15890
push str.Record_keys
call fcn.00468030
mov esi, dword [0xb15720]
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 0x40958f
test al, 4
jne 0x40958f
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 0x4095df
mov ecx, 0x46f77a
cmp edi, 0xffffffff
jae 0x4095cb
mov dl, byte [ecx]
test dl, dl
je 0x4095cb
cmp dl, 0x23
jne 0x4095c5
cmp byte [ecx + 1], dl
je 0x4095cb
inc ecx
cmp ecx, 0xffffffff
jb 0x4095b5
push ecx
xorps xmm3, xmm3
mov edx, edi
call fcn.00456050
mov esi, dword [0xb15720]
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 0x40962b
cmp eax, 6
jne 0x40962b
call fcn.00416cd0
call fcn.0042dc60
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.0042d9d0
add esp, 0xc
test al, al
je 0x4099a0
mov esi, dword [0xb15720]
movss xmm3, dword [0xa8c5c8]
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 [0xa8c54c]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x3e48]
mulss xmm1, dword [0xa8c438]
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.0044d630
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0xa8c470]
mov eax, dword [esi + 0x3e48]
movss xmm1, dword [esp + 0x30]
push str.License:
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 [0xa8c438]
addss xmm1, xmm0
movaps xmm0, xmmword [0xa8c780]
movups xmmword [esp + 0x18], xmm0
movss dword [ecx + 0xf0], xmm1
call fcn.004538b0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push 0x470dc4
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.00435db0
movaps xmm0, xmmword [0xa8c780]
lea eax, [esp + 0x10]
movups xmmword [esp + 0x10], xmm0
sub esp, 8
movss xmm0, dword [0xa8c540]
divss xmm0, dword [esp + 0x34]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.____.0f
push eax
call fcn.004538b0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push 0x470dd0
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 0x14
xorps xmm0, xmm0
call fcn.00435db0
movaps xmm0, xmmword [0xa8c780]
lea eax, [esp + 0x10]
sub esp, 8
movups xmmword [esp + 0x18], xmm0
movsd xmm0, qword [0xa8c4d8]
movsd qword [esp], xmm0
push str.____.f
push eax
call fcn.004538b0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push 0x470ddc
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 0x14
xorps xmm0, xmm0
call fcn.00435db0
push 0x470de0
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 4
xorps xmm0, xmm0
call fcn.00435db0
movaps xmm0, xmmword [0xa8c780]
lea eax, [esp + 0x10]
push str.HideMenu
push eax
movups xmmword [esp + 0x18], xmm0
call fcn.004538b0
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
push 0x470df4
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 0xc
xorps xmm0, xmm0
call fcn.00435db0
push 0x470df8
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 4
xorps xmm0, xmm0
call fcn.00435db0
push str.PGDN
call fcn.004537f0
movss xmm1, dword [0xa8c5f0]
add esp, 4
xorps xmm0, xmm0
call fcn.00435db0
push 0x470e04
call fcn.004537f0
mov ecx, dword [0xb15720]
add esp, 4
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x409965
movss xmm1, dword [0xa8c5f0]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00435a20
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0x42200000
mov ecx, 0x470e08
mov dword [esp + 0x18], 0x41f00000
call fcn.00454240
add esp, 4
test al, al
jne 0x4099b1
movss xmm1, dword [0xa8c5f0]
xorps xmm0, xmm0
call fcn.00435db0
call fcn.00406ce0
call fcn.0042dc60
call fcn.00432b20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00408550
int3