Function at 0x100731f0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a8fc6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd98
push esi
mov eax, dword [ebp + 8]
mov dword [0x101f8458], eax
cmp dword [0x101f8458], 0
jne 0x10073225
jmp 0x100764fc
mov ecx, dword [0x101f8458]
cmp dword [ecx + 0xd4], 0
jne 0x10073239
jmp 0x100764fc
mov edx, dword [0x101f8458]
mov eax, dword [edx + 0xd4]
cmp dword [eax + 0x70], 0
jne 0x10073250
jmp 0x100764fc
mov ecx, dword [0x101f8458]
mov edx, dword [ecx + 0xd4]
cmp dword [edx + 0x34], 0
jne 0x10073267
jmp 0x100764fc
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x34]
cmp dword [edx + 0x5d0], 0
jne 0x10073283
jmp 0x100764fc
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x34]
cmp dword [edx + 0x7cc], 0
jne 0x1007329f
jmp 0x100764fc
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x34]
mov dword [0x101f845c], edx
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x10], edx
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x26c], edx
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2ec], edx
mov eax, dword [0x101f8458]
mov ecx, dword [eax + 0xd4]
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x420]
mov dword [ebp - 0xa0], eax
mov ecx, dword [0x101f8458]
mov edx, dword [ecx + 0xd4]
mov eax, dword [edx + 0x34]
mov ecx, dword [eax + 0x7cc]
mov dword [ebp - 0x25c], ecx
mov edx, dword [0x101f8458]
mov eax, dword [edx + 0xd4]
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x2f0], ecx
mov edx, dword [0x101f8458]
mov eax, dword [edx + 0xd4]
mov ecx, dword [eax + 0x34]
mov dword [0x101f82e0], ecx
mov edx, dword [0x101f8458]
mov eax, dword [edx + 0xd4]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x78], ecx
mov edx, dword [0x101f8458]
mov eax, dword [edx + 0xd4]
mov ecx, dword [eax + 0x34]
add ecx, 0xaf0
mov edx, dword [ecx]
mov dword [0x101f843c], edx
mov eax, dword [ecx + 4]
mov dword [0x101f8440], eax
mov ecx, dword [ecx + 8]
mov dword [0x101f8444], ecx
mov edx, dword [0x101f8458]
mov eax, dword [edx + 0xd4]
mov ecx, dword [eax + 0x34]
add ecx, 0xafc
mov edx, dword [ecx]
mov dword [0x101f8448], edx
mov eax, dword [ecx + 4]
mov dword [0x101f844c], eax
mov ecx, dword [ecx + 8]
mov dword [0x101f8450], ecx
push 0xff
mov edx, 4
shl edx, 1
movss xmm0, dword [edx + 0x101f72c0]
mulss xmm0, dword [0x100acd80]
cvttss2si eax, xmm0
and eax, 0x800000ff
jns 0x100733e7
dec eax
or eax, 0xffffff00
inc eax
push eax
mov ecx, 4
shl ecx, 0
movss xmm0, dword [ecx + 0x101f72c0]
mulss xmm0, dword [0x100acd80]
cvttss2si edx, xmm0
and edx, 0x800000ff
jns 0x10073414
dec edx
or edx, 0xffffff00
inc edx
push edx
mov eax, 4
imul ecx, eax, 0
movss xmm0, dword [ecx + 0x101f72c0]
mulss xmm0, dword [0x100acd80]
cvttss2si edx, xmm0
and edx, 0x800000ff
jns 0x10073441
dec edx
or edx, 0xffffff00
inc edx
push edx
lea ecx, [ebp - 0x254]
call fcn.1006fa90
cmp dword [0x101f8460], 0
jne 0x100734cb
mov eax, 0xf78e0ae5
push eax
lea ecx, [ebp - 0x584]
call fcn.1006f570
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x250], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x250]
push edx
lea ecx, [ebp - 0x460]
call fcn.1006f910
mov byte [ebp - 4], 1
lea eax, [ebp - 0x460]
push eax
call fcn.10072c30
add esp, 4
mov dword [0x101f8460], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x460]
call fcn.10070410
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x584]
call fcn.100701a0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x254]
push ecx
lea ecx, [ebp - 0x270]
call fcn.1006f4e0
mov edx, dword [0x101f8458]
movss xmm0, dword [edx + 0x5c]
divss xmm0, dword [0x101f7254]
movss dword [0x101f82d0], xmm0
mov eax, dword [0x101f8458]
movss xmm0, dword [eax + 0x60]
divss xmm0, dword [0x101f7254]
movss dword [0x101f82d4], xmm0
mov dword [ebp - 0x58], 0
jmp 0x1007352b
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, dword [0x101f845c]
mov ecx, dword [edx + 0x7cc]
add ecx, 0x6dc
call fcn.100767d0
cmp dword [ebp - 0x58], eax
jae 0x10074908
mov eax, dword [0x101f845c]
mov ecx, dword [eax + 0x7cc]
add ecx, 0x6dc
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x258]
call fcn.10070720
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x25c]
call fcn.1007edf0
mov edx, dword [ebp - 0x14]
push edx
call fcn.10076640
add esp, 4
movzx eax, al
test eax, eax
je 0x10074903
movzx ecx, byte [0x101f7252]
test ecx, ecx
je 0x100735c1
mov edx, dword [ebp - 0x14]
push edx
call fcn.10077d10
add esp, 4
movzx eax, al
test eax, eax
je 0x100735c1
jmp 0x10073522
mov ecx, dword [ebp - 0x14]
add ecx, 0x88c
push ecx
lea edx, [ebp - 0x448]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.1007e550
movss xmm0, dword [ebp - 0x440]
addss xmm0, dword [0x100bb4e8]
movss dword [ebp - 0x440], xmm0
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x4cc]
push ecx
lea ecx, [ebp - 0x448]
call fcn.10070ca0
mov dword [ebp - 0x260], eax
lea edx, [ebp - 0x430]
push edx
lea eax, [ebp - 0x4d8]
push eax
mov ecx, dword [ebp - 0x260]
call fcn.10070ca0
mov dword [ebp - 0x264], eax
lea ecx, [ebp - 0x424]
push ecx
lea edx, [ebp - 0x358]
push edx
mov ecx, dword [ebp - 0x264]
call fcn.10070ca0
lea eax, [ebp - 0x358]
mov dword [ebp - 0x268], eax
mov ecx, dword [0x101f845c]
add ecx, 0xafc
push ecx
mov edx, dword [0x101f845c]
add edx, 0xaf0
push edx
mov eax, dword [ebp - 0x268]
push eax
lea ecx, [ebp - 0x364]
push ecx
mov ecx, dword [ebp - 0x26c]
call fcn.1007eff0
lea edx, [ebp - 0x364]
mov dword [ebp - 0x274], edx
cmp dword [0x101f83fc], 0
jne 0x10073755
push ecx
movss xmm0, dword [0x101f82d4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f82d0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x270]
call fcn.10071060
push ecx
movss xmm0, dword [0x101f82d4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101f82d0]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x274]
push eax
mov ecx, dword [0x101f8458]
push ecx
call fcn.10076590
add esp, 0x10
movzx edx, al
test edx, edx
je 0x10073755
cmp dword [0x101f8400], 0
jne 0x1007371d
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10078fe0
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [0x101f8400], 1
jne 0x10073739
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.10079090
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [0x101f8400], 2
jne 0x10073755
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10078ed0
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [0x101f83fc], 1
jne 0x100737b2
cmp dword [0x101f8400], 0
jne 0x1007377a
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10078fe0
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [0x101f8400], 1
jne 0x10073796
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.10079090
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [0x101f8400], 2
jne 0x100737b2
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10078ed0
add esp, 8
mov dword [ebp - 0x18], eax
push ecx
mov esi, esp
mov dword [ebp - 0x2f4], esp
push 0x1d944df8
lea ecx, [ebp - 0x34b]
call fcn.1006f5f0
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x27c]
push ecx
mov ecx, esi
call fcn.1006fb00
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0xb4]
push eax
call fcn.10072de0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34b]
call fcn.100701d0
lea ecx, [ebp - 0x370]
call fcn.1006fe30
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x288], eax
movss xmm0, dword [ebp - 0x288]
addss xmm0, dword [0x10101bb4]
movss dword [ebp - 0x288], xmm0
lea ecx, [ebp - 0x30]
call fcn.1006fe30
mov ecx, dword [ebp - 0x14]
add ecx, 0x2dc
mov edx, dword [ecx]
mov dword [ebp - 0xc0], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [edx + 0x2e4]
movss xmm1, dword [ebp - 0xb8]
subss xmm1, xmm0
movss dword [ebp - 0xb8], xmm1
movss xmm0, dword [ebp - 0xb8]
subss xmm0, dword [0x10101bc0]
movss dword [ebp - 0xb8], xmm0
lea ecx, [ebp - 0x340]
call fcn.1006fe30
push 0x101f843c
lea eax, [ebp - 0xb4]
push eax
call fcn.10072d50
add esp, 8
fstp dword [ebp - 0x148]
push 0xff
mov ecx, 4
shl ecx, 1
movss xmm0, dword [ecx + 0x101f7270]
mulss xmm0, dword [0x100acd80]
cvttss2si edx, xmm0
and edx, 0x800000ff
jns 0x1007391d
dec edx
or edx, 0xffffff00
inc edx
push edx
mov eax, 4
shl eax, 0
movss xmm0, dword [eax + 0x101f7270]
mulss xmm0, dword [0x100acd80]
cvttss2si ecx, xmm0
and ecx, 0x800000ff
jns 0x1007394a
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
mov edx, 4
imul eax, edx, 0
movss xmm0, dword [eax + 0x101f7270]
mulss xmm0, dword [0x100acd80]
cvttss2si ecx, xmm0
and ecx, 0x800000ff
jns 0x10073977
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
lea ecx, [ebp - 0x70]
call fcn.1006fa90
push 0xff
mov edx, 4
shl edx, 1
movss xmm0, dword [edx + 0x101f7260]
mulss xmm0, dword [0x100acd80]
cvttss2si eax, xmm0
and eax, 0x800000ff
jns 0x100739ae
dec eax
or eax, 0xffffff00
inc eax
push eax
mov ecx, 4
shl ecx, 0
movss xmm0, dword [ecx + 0x101f7260]
mulss xmm0, dword [0x100acd80]
cvttss2si edx, xmm0
and edx, 0x800000ff
jns 0x100739db
dec edx
or edx, 0xffffff00
inc edx
push edx
mov eax, 4
imul ecx, eax, 0
movss xmm0, dword [ecx + 0x101f7260]
mulss xmm0, dword [0x100acd80]
cvttss2si edx, xmm0
and edx, 0x800000ff
jns 0x10073a08
dec edx
or edx, 0xffffff00
inc edx
push edx
lea ecx, [ebp - 0x284]
call fcn.1006fa90
push 0xff
mov eax, 4
shl eax, 1
movss xmm0, dword [eax + 0x101f7280]
mulss xmm0, dword [0x100acd80]
cvttss2si ecx, xmm0
and ecx, 0x800000ff
jns 0x10073a44
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
mov edx, 4
shl edx, 0
movss xmm0, dword [edx + 0x101f7280]
mulss xmm0, dword [0x100acd80]
cvttss2si eax, xmm0
and eax, 0x800000ff
jns 0x10073a6f
dec eax
or eax, 0xffffff00
inc eax
push eax
mov ecx, 4
imul edx, ecx, 0
movss xmm0, dword [edx + 0x101f7280]
mulss xmm0, dword [0x100acd80]
cvttss2si eax, xmm0
and eax, 0x800000ff
jns 0x10073a9a
dec eax
or eax, 0xffffff00
inc eax
push eax
lea ecx, [ebp - 0x280]
call fcn.1006fa90
push 0xff
mov ecx, 4
shl ecx, 1
movss xmm0, dword [ecx + 0x101f72a0]
mulss xmm0, dword [0x100acd80]
cvttss2si edx, xmm0
and edx, 0x800000ff
jns 0x10073ad6
dec edx
or edx, 0xffffff00
inc edx
push edx
mov eax, 4
shl eax, 0
movss xmm0, dword [eax + 0x101f72a0]
mulss xmm0, dword [0x100acd80]
cvttss2si ecx, xmm0
and ecx, 0x800000ff
jns 0x10073b03
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
mov edx, 4
imul eax, edx, 0
movss xmm0, dword [eax + 0x101f72a0]
mulss xmm0, dword [0x100acd80]
cvttss2si ecx, xmm0
and ecx, 0x800000ff
jns 0x10073b30
dec ecx
or ecx, 0xffffff00
inc ecx
push ecx
lea ecx, [ebp - 0xa4]
call fcn.1006fa90
push 0x101f843c
lea edx, [ebp - 0xb4]
push edx
mov ecx, dword [0x101f845c]
call fcn.1007e400
movzx eax, al
test eax, eax
je 0x10073bdf
push 0xff
push 0
push 0
push 0xff
lea ecx, [ebp - 0x2f8]
call fcn.1006fa90
mov ecx, dword [eax]
mov dword [ebp - 0xa4], ecx
push 0xff
push 0
push 0
push 0xff
lea ecx, [ebp - 0x2fc]
call fcn.1006fa90
mov edx, dword [eax]
mov dword [ebp - 0x280], edx
push 0xff
push 0
push 0
push 0xff
lea ecx, [ebp - 0x300]
call fcn.1006fa90
mov eax, dword [eax]
mov dword [ebp - 0x284], eax
push 0xff
push 0
push 0
push 0xff
lea ecx, [ebp - 0x304]
call fcn.1006fa90
mov ecx, dword [eax]
mov dword [ebp - 0x70], ecx
lea edx, [ebp - 0x370]
push edx
lea eax, [ebp - 0xb4]
push eax
call fcn.10077f70
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10074903
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x290]
push eax
call fcn.10077f70
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10074903
lea edx, [ebp - 0x340]
push edx
lea eax, [ebp - 0xc0]
push eax
call fcn.10077f70
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10074903
movss xmm0, dword [ebp - 0x33c]
subss xmm0, dword [ebp - 0x2c]
push ecx
movss dword [esp], xmm0
call fcn.10033820
add esp, 4
fstp dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c]
divss xmm0, dword [0x100acd14]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [ebp - 0x4c]
divss xmm0, dword [0x100acd14]
movss xmm1, dword [ebp - 0x30]
subss xmm1, xmm0
movss dword [ebp - 0x6c], xmm1
movss xmm0, dword [ebp - 0x4c]
divss xmm0, dword [0x100acda0]
movss xmm1, dword [ebp - 0x30]
subss xmm1, xmm0
movss dword [ebp - 0x74], xmm1
movzx edx, byte [0x101f8411]
test edx, edx
je 0x10073cd6
mov eax, dword [0x101f845c]
push ecx
movss xmm0, dword [eax + 0x42c]
movss dword [esp], xmm0
push 1
push 1
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [0x101f8458]
call fcn.10072ba0
movzx edx, byte [0x101f8414]
test edx, edx
je 0x10073d4a
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007ec70
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x4c]
divss xmm0, dword [0x100acd14]
movss xmm1, dword [ebp - 0x30]
subss xmm1, xmm0
push ecx
movss dword [esp], xmm1
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push ecx
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x4c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007df00
movzx edx, byte [0x101f8415]
test edx, edx
je 0x10073e0f
push 0x208
push 0
lea eax, [ebp - 0x78c]
push eax
call fcn.10083bb0
add esp, 0xc
movzx ecx, byte [0x101f8415]
test ecx, ecx
je 0x10073db1
movss xmm0, dword [ebp - 0x148]
divss xmm0, dword [0x100acd74]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
lea edx, [ebp - 0x78c]
push edx
push str._s__1.0fm
lea eax, [ebp - 0x78c]
push eax
call fcn.1006f3b0
add esp, 0x14
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x10101bcc]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x100bb4dc]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
lea ecx, [ebp - 0x78c]
push ecx
lea ecx, [ebp - 0x37c]
call fcn.1006fd60
push 2
lea edx, [ebp - 0xa4]
push edx
lea eax, [ebp - 0x37c]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007e930
movzx ecx, byte [0x101f8416]
test ecx, ecx
je 0x10073ebd
movzx edx, byte [0x101f8416]
test edx, edx
je 0x10073e66
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x5e8], 0
je 0x10073e66
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x100acd4c]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x100bb4dc]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0
push 0xff
push 0
push 0xf
lea ecx, [ebp - 0x308]
call fcn.1006fa90
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x5e8]
add ecx, 0x490
call fcn.1001ac10
push eax
lea ecx, [ebp - 0x388]
call fcn.1006fd60
push 1
mov edx, dword [ebp - 0x14c]
push edx
lea eax, [ebp - 0x388]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007e930
movzx ecx, byte [0x101f8417]
test ecx, ecx
je 0x100740b0
cmp dword [0x101f8418], 1
jne 0x10073f71
push 0
push 0xef
push 0xff
push 0
lea ecx, [ebp - 0x30c]
call fcn.1006fa90
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x150]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007ec70
mov eax, dword [0x101f8458]
movss xmm0, dword [eax + 0x60]
divss xmm0, dword [0x100bb4e8]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
movss xmm0, dword [ecx + 0x5c]
divss xmm0, dword [0x100acd14]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x100acc78]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007e800
cmp dword [0x101f8418], 2
jne 0x10074016
push 0
push 0xef
push 0xff
push 0
lea ecx, [ebp - 0x310]
call fcn.1006fa90
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x154]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007ec70
mov eax, dword [0x101f8458]
movss xmm0, dword [eax + 0x60]
divss xmm0, dword [0x100acd14]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
movss xmm0, dword [ecx + 0x5c]
divss xmm0, dword [0x100acd14]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x100acd5c]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007e800
cmp dword [0x101f8418], 3
jne 0x100740b0
push 0
push 0xef
push 0xff
push 0
lea ecx, [ebp - 0x314]
call fcn.1006fa90
mov dword [ebp - 0x158], eax
mov edx, dword [ebp - 0x158]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007ec70
mov eax, dword [0x101f8458]
push ecx
movss xmm0, dword [eax + 0x60]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
movss xmm0, dword [ecx + 0x5c]
divss xmm0, dword [0x100acd14]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [ebp - 0x1c]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007e800
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x54c]
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x14]
cvttss2si edx, dword [ecx + 0x544]
mov dword [ebp - 0x184], edx
movzx eax, byte [0x101f841d]
test eax, eax
je 0x100743a3
mov ecx, dword [ebp - 0x14]
cvtsi2ss xmm0, dword [ecx + 0x54c]
movss dword [ebp - 0x5c], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x544]
movss dword [ebp - 0x54], xmm0
lea ecx, [ebp - 0x60]
call fcn.1006fad0
movss xmm0, dword [ebp - 0x54]
divss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x5c]
divss xmm1, xmm0
push ecx
movss dword [esp], xmm1
call fcn.10043030
add esp, 4
fstp dword [ebp - 0x15c]
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0x54]
divss xmm0, dword [0x100acd14]
movss xmm1, dword [ebp - 0x5c]
comiss xmm1, xmm0
jbe 0x10074251
movss xmm0, dword [ebp - 0x54]
divss xmm0, dword [0x100acd14]
movss xmm1, dword [ebp - 0x5c]
subss xmm1, xmm0
mulss xmm1, dword [0x100acd74]
movss xmm0, dword [ebp - 0x54]
divss xmm0, dword [0x100acd14]
divss xmm1, xmm0
mulss xmm1, dword [0x100acd80]
divss xmm1, dword [0x100acd74]
movss xmm0, dword [0x100acd80]
subss xmm0, xmm1
cvttss2si eax, xmm0
push 0xff
push 0
push 0xff
movzx ecx, al
push ecx
lea ecx, [ebp - 0x160]
call fcn.1006fa90
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x60], edx
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007ec70
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x100accf0]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100acd3c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x100acd14]
subss xmm0, dword [ebp - 0xa8]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd38]
movss dword [esp], xmm0
mov ecx, dword [0x101f8460]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e090
jmp 0x10074321
movss xmm0, dword [ebp - 0x5c]
mulss xmm0, dword [0x100acd74]
movss xmm1, dword [ebp - 0x54]
divss xmm1, dword [0x100acd14]
divss xmm0, xmm1
mulss xmm0, dword [0x100acd80]
divss xmm0, dword [0x100acd74]
cvttss2si edx, xmm0
push 0xff
push 0
movzx eax, dl
push eax
push 0xff
lea ecx, [ebp - 0x164]
call fcn.1006fa90
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007ec70
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x100accf0]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100acd3c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x100acd14]
subss xmm0, dword [ebp - 0xa8]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd38]
movss dword [esp], xmm0
mov eax, dword [0x101f8460]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007e090
push 0xff
push 0xa
push 0x19
push 0xa
lea ecx, [ebp - 0x318]
call fcn.1006fa90
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007ec70
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100acd3c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push ecx
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd38]
movss dword [esp], xmm0
mov edx, dword [0x101f8458]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007df00
movzx eax, byte [0x101f8424]
test eax, eax
je 0x10074541
mov ecx, dword [ebp - 0x64]
cvtsi2ss xmm0, dword [ecx + 0xc8c]
movss dword [ebp - 0x170], xmm0
mov edx, dword [ebp - 0x64]
cvtsi2ss xmm0, dword [edx + 0xc90]
movss dword [ebp - 0x16c], xmm0
movss xmm0, dword [ebp - 0x16c]
divss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x170]
divss xmm1, xmm0
push ecx
movss dword [esp], xmm1
call fcn.10043030
add esp, 4
fstp dword [ebp - 0x174]
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x17c], xmm0
push 0xff
push 0xd2
push 0xff
push 0
lea ecx, [ebp - 0x31c]
call fcn.1006fa90
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007ec70
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [0x100accf0]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x74]
subss xmm0, dword [0x100acd3c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x100acd14]
subss xmm0, dword [ebp - 0x17c]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd24]
movss dword [esp], xmm0
mov ecx, dword [0x101f8460]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e090
push 0xff
push 0xd2
push 0xff
push 0
lea ecx, [ebp - 0x320]
call fcn.1006fa90
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007ec70
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x74]
subss xmm0, dword [0x100acd3c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push ecx
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd24]
movss dword [esp], xmm0
mov eax, dword [0x101f8458]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007df00
movzx ecx, byte [0x101f841e]
test ecx, ecx
je 0x100746c2
push 0x208
push 0
lea edx, [ebp - 0x994]
push edx
call fcn.10083bb0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x54c]
push ecx
push str.__dHP_
lea edx, [ebp - 0x994]
push edx
call fcn.1006f3b0
add esp, 0xc
mov eax, dword [ebp - 0x184]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x188], eax
jle 0x100746c2
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x100acd5c]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x100bb4dc]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
mov eax, dword [0x101f8458]
movss xmm0, dword [eax + 0x130]
movss dword [ebp - 0x18c], xmm0
mov ecx, dword [0x101f8458]
movss xmm0, dword [ecx + 0x12c]
movss dword [ebp - 0x190], xmm0
mov edx, dword [0x101f8458]
movss xmm0, dword [edx + 0x128]
movss dword [ebp - 0x194], xmm0
mov eax, dword [0x101f8458]
movss xmm0, dword [eax + 0x124]
movss dword [ebp - 0x198], xmm0
mov ecx, dword [0x101f8458]
movss xmm0, dword [ecx + 0x60]
movss dword [ebp - 0x19c], xmm0
mov edx, dword [0x101f8458]
movss xmm0, dword [edx + 0x5c]
movss dword [ebp - 0x1a0], xmm0
lea eax, [ebp - 0x994]
push eax
lea ecx, [ebp - 0x394]
call fcn.1006fd60
push ecx
movss xmm0, dword [ebp - 0x18c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x190]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x194]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x198]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x19c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x1a0]
movss dword [esp], xmm0
push 1
lea ecx, [ebp - 0x394]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e280
movzx edx, byte [0x101f8426]
test edx, edx
je 0x10074742
lea eax, [ebp - 0x70]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007ec70
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x4c]
divss xmm0, dword [0x100acd14]
movss xmm1, dword [ebp - 0x30]
subss xmm1, xmm0
push ecx
movss dword [esp], xmm1
mov ecx, dword [0x101f8458]
call fcn.1007ed30
movss xmm0, dword [ebp - 0x1c]
divss xmm0, dword [0x100acd3c]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x1c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x4c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007dfc0
movzx ecx, byte [0x101f8423]
test ecx, ecx
je 0x1007481a
mov edx, dword [ebp - 0x64]
mov eax, dword [edx + 0xc8c]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0xc90]
mov dword [ebp - 0x324], edx
push 0x208
push 0
lea eax, [ebp - 0xb9c]
push eax
call fcn.10083bb0
add esp, 0xc
mov ecx, dword [ebp - 0x1a4]
push ecx
push str.__dAP_
lea edx, [ebp - 0xb9c]
push edx
call fcn.1006f3b0
add esp, 0xc
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x10101bbc]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x100bb4dc]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0
push 0x69
push 0
push 0xe1
lea ecx, [ebp - 0x328]
call fcn.1006fa90
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0xb9c]
push eax
lea ecx, [ebp - 0x3a0]
call fcn.1006fd60
push 2
mov ecx, dword [ebp - 0x1a8]
push ecx
lea edx, [ebp - 0x3a0]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007e930
movzx eax, byte [0x101f8425]
test eax, eax
je 0x10074903
mov ecx, dword [ebp - 0x14]
add ecx, 0x158
sub esp, 0xc
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
call fcn.10072a60
add esp, 0xc
mov dword [ebp - 0x1ac], eax
push 0x208
push 0
lea edx, [ebp - 0xda4]
push edx
call fcn.10083bb0
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
push eax
push str.__d_dm_s_
lea ecx, [ebp - 0xda4]
push ecx
call fcn.1006f3b0
add esp, 0xc
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [0x100bb4ec]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x100bb4dc]
push ecx
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0
push 0
push 0xff
lea ecx, [ebp - 0x32c]
call fcn.1006fa90
mov dword [ebp - 0x1b0], eax
lea edx, [ebp - 0xda4]
push edx
lea ecx, [ebp - 0x3ac]
call fcn.1006fd60
push 2
mov eax, dword [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x3ac]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e930
jmp 0x10073522
movzx edx, byte [0x101f83f6]
test edx, edx
je 0x10074935
push 0x7b
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10074935
push 1
mov ecx, dword [ebp - 0x78]
call fcn.1007f9f0
push 0
mov ecx, dword [ebp - 0x78]
call fcn.1007f9f0
movzx ecx, byte [0x101f838c]
test ecx, ecx
je 0x1007496c
push 0x73
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x1007496c
mov ecx, dword [ebp - 0x10]
call fcn.1007ebc0
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f890
push 0
mov ecx, dword [ebp - 0x10]
call fcn.1007f890
movzx eax, byte [0x101f838d]
test eax, eax
je 0x100749b7
push 0x72
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
je 0x100749b7
mov ecx, dword [ebp - 0x10]
call fcn.1007ebc0
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f890
push 0
mov ecx, dword [ebp - 0x10]
call fcn.1007f890
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f750
push 0
mov ecx, dword [ebp - 0x10]
call fcn.1007f750
movzx edx, byte [0x101f83d4]
test edx, edx
je 0x100749dd
push 0xdb
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x100749dd
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f7e0
movzx ecx, byte [0x101f838b]
test ecx, ecx
je 0x10074a09
mov edx, dword [0x101f7248]
push edx
lea ecx, [ebp - 0x3b8]
call fcn.1006fd60
lea eax, [ebp - 0x3b8]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.1007eb20
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x420]
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jne 0x10074a26
jmp 0x100764fc
cmp dword [0x101f8384], 0
je 0x10074a4c
push 0x60
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10074a4c
mov ecx, dword [0x101f8384]
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f837e]
test edx, edx
je 0x10074a79
push 0x68
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10074a79
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f6c0
push 0x2f
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f837f]
test ecx, ecx
je 0x10074aa8
push 0x69
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x10074aa8
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f6c0
push 0x2d
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f8388]
test eax, eax
je 0x10074ad7
push 0x67
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
je 0x10074ad7
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f6c0
push 0x2e
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movss xmm0, dword [0x101f8380]
ucomiss xmm0, dword [0x100acc78]
lahf
test ah, 0x44
jnp 0x10074b05
push ecx
movss xmm0, dword [0x101f8380]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xa0]
call fcn.10077e30
movzx edx, byte [0x101f8389]
test edx, edx
je 0x10074b1e
mov eax, dword [ebp - 0x10]
xorps xmm0, xmm0
movss dword [eax + 0xf74], xmm0
movzx ecx, byte [0x101f83c7]
test ecx, ecx
je 0x10074b78
push 0x74
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x10074b78
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x5dc]
or ecx, 2
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x5dc], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x3c8]
or ecx, 1
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x3c8], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x2ac]
or ecx, 0x10
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x2ac], ecx
movzx eax, byte [0x101f83d5]
test eax, eax
je 0x10074b8d
push 6
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83d6]
test ecx, ecx
je 0x10074ba2
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
lea ecx, [ebp - 0x34]
call fcn.1006fd40
cmp dword [ebp - 0x18], 0
je 0x10074d7d
mov edx, dword [0x101f7258]
mov eax, dword [edx*4 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZpqrstuvwxyz_.____abcdefghi]
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
test ecx, ecx
jge 0x10074d7d
movzx edx, byte [0x101f7251]
test edx, edx
je 0x10074bea
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x88c]
mov dword [ebp - 0x34], ecx
movzx edx, byte [0x101f8405]
test edx, edx
je 0x10074c01
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x890]
mov dword [ebp - 0x34], ecx
movzx edx, byte [0x101f8406]
test edx, edx
je 0x10074c18
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x894]
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x490]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.1007e550
lea ecx, [ebp - 0x484]
push ecx
lea edx, [ebp - 0x4e4]
push edx
lea ecx, [ebp - 0x490]
call fcn.10070ca0
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp - 0x4f0]
push ecx
mov ecx, dword [ebp - 0x1b8]
call fcn.10070ca0
mov dword [ebp - 0x1bc], eax
lea edx, [ebp - 0x46c]
push edx
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x1bc]
call fcn.10070ca0
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 0x504]
mov dword [ebp - 0x7c], ecx
movzx edx, byte [0x101f8407]
test edx, edx
jne 0x10074d01
push 0x101f843c
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x2c0]
call fcn.10070c40
mov dword [ebp - 0x1c4], eax
lea ecx, [ebp - 0x508]
push ecx
mov ecx, dword [ebp - 0x1c4]
call fcn.10077c60
mov dword [ebp - 0x1c8], eax
mov edx, dword [ebp - 0x1c8]
push edx
mov ecx, dword [0x101f845c]
call fcn.1007dcd0
mov eax, dword [ebp - 0x7c]
push eax
call fcn.10077e60
add esp, 4
movzx ecx, byte [0x101f8407]
test ecx, ecx
je 0x10074d7d
push 0x101f843c
lea edx, [ebp - 0x2c0]
push edx
mov ecx, dword [0x101f845c]
call fcn.1007e400
movzx eax, al
test eax, eax
je 0x10074d7d
push 0x101f843c
lea ecx, [ebp - 0x568]
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.10070c40
mov dword [ebp - 0x1cc], eax
lea edx, [ebp - 0x514]
push edx
mov ecx, dword [ebp - 0x1cc]
call fcn.10077c60
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
push eax
mov ecx, dword [0x101f845c]
call fcn.1007dcd0
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.10077e60
add esp, 4
cmp dword [ebp - 0x18], 0
je 0x10074f40
movzx edx, byte [0x101f8404]
test edx, edx
je 0x10074f40
movzx eax, byte [0x101f7251]
test eax, eax
je 0x10074dad
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x88c]
mov dword [ebp - 0x34], edx
movzx eax, byte [0x101f8405]
test eax, eax
je 0x10074dc4
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x890]
mov dword [ebp - 0x34], edx
movzx eax, byte [0x101f8406]
test eax, eax
je 0x10074ddb
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x894]
mov dword [ebp - 0x34], edx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x4c0]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.1007e550
lea edx, [ebp - 0x4b4]
push edx
lea eax, [ebp - 0x520]
push eax
lea ecx, [ebp - 0x4c0]
call fcn.10070ca0
mov dword [ebp - 0x1d4], eax
lea ecx, [ebp - 0x4a8]
push ecx
lea edx, [ebp - 0x52c]
push edx
mov ecx, dword [ebp - 0x1d4]
call fcn.10070ca0
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x2cc]
push ecx
mov ecx, dword [ebp - 0x1d8]
call fcn.10070ca0
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + 0x504]
mov dword [ebp - 0x80], edx
movzx eax, byte [0x101f8407]
test eax, eax
jne 0x10074ec4
push 0x101f843c
lea ecx, [ebp - 0x538]
push ecx
lea ecx, [ebp - 0x2cc]
call fcn.10070c40
mov dword [ebp - 0x1e0], eax
lea edx, [ebp - 0x544]
push edx
mov ecx, dword [ebp - 0x1e0]
call fcn.10077c60
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
push eax
mov ecx, dword [0x101f845c]
call fcn.1007dcd0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.10077e60
add esp, 4
movzx edx, byte [0x101f8407]
test edx, edx
je 0x10074f40
push 0x101f843c
lea eax, [ebp - 0x2cc]
push eax
mov ecx, dword [0x101f845c]
call fcn.1007e400
movzx ecx, al
test ecx, ecx
je 0x10074f40
push 0x101f843c
lea edx, [ebp - 0x550]
push edx
lea ecx, [ebp - 0x2cc]
call fcn.10070c40
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x55c]
push eax
mov ecx, dword [ebp - 0x1e8]
call fcn.10077c60
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
push ecx
mov ecx, dword [0x101f845c]
call fcn.1007dcd0
mov edx, dword [ebp - 0x80]
push edx
call fcn.10077e60
add esp, 4
movzx eax, byte [0x101f83d3]
test eax, eax
je 0x10074f58
push 0x1c7
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83d1]
test ecx, ecx
je 0x10074f70
push 0x17d
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83f8]
test edx, edx
je 0x10074fb6
push 0x70
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10074fb6
movzx ecx, byte [0x101f838a]
test ecx, ecx
jne 0x10074fa0
mov dword [ebp - 0x84], 1
jmp 0x10074faa
mov dword [ebp - 0x84], 0
mov dl, byte [ebp - 0x84]
mov byte [0x101f838a], dl
movzx eax, byte [0x101f838a]
test eax, eax
je 0x1007505d
push 0x85
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x8a
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x330]
call fcn.1006fa90
mov ecx, dword [eax]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [0x101f8458]
mov eax, dword [ebp - 0x1f0]
mov dword [edx + 0x78], eax
push str.Damage
lea ecx, [ebp - 0x3c4]
call fcn.1006fd60
push 1
lea ecx, [ebp - 0x3c4]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e150
movzx edx, byte [0x101f838f]
test edx, edx
je 0x10075072
push 0x42
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f8390]
test eax, eax
je 0x1007508a
push 0x129
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f8391]
test ecx, ecx
je 0x100750dc
cmp dword [0x101f8394], 1
jne 0x100750b8
push 0x59
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x100750b8
push 0x1a
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
cmp dword [0x101f8394], 2
jne 0x100750dc
push 0x59
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x100750dc
push 0x1b4
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f8392]
test ecx, ecx
je 0x10075131
cmp dword [0x101f8398], 1
jne 0x1007510d
push 0x43
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x1007510d
push 0xf9
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
cmp dword [0x101f8398], 2
jne 0x10075131
push 0x43
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10075131
push 0xa4
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f8393]
test ecx, ecx
je 0x100753e6
cmp dword [0x101f839c], 1
jne 0x10075186
push 0x24
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x10075186
movzx eax, byte [0x101f83a0]
test eax, eax
jne 0x10075170
mov dword [ebp - 0x88], 1
jmp 0x1007517a
mov dword [ebp - 0x88], 0
mov cl, byte [ebp - 0x88]
mov byte [0x101f83a0], cl
cmp dword [0x101f839c], 2
jne 0x100751cc
push 0x24
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x100751cc
movzx eax, byte [0x101f83a1]
test eax, eax
jne 0x100751b6
mov dword [ebp - 0x8c], 1
jmp 0x100751c0
mov dword [ebp - 0x8c], 0
mov cl, byte [ebp - 0x8c]
mov byte [0x101f83a1], cl
cmp dword [0x101f839c], 3
jne 0x10075212
push 0x24
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
je 0x10075212
movzx eax, byte [0x101f83a2]
test eax, eax
jne 0x100751fc
mov dword [ebp - 0x90], 1
jmp 0x10075206
mov dword [ebp - 0x90], 0
mov cl, byte [ebp - 0x90]
mov byte [0x101f83a2], cl
movzx edx, byte [0x101f83a0]
test edx, edx
je 0x100752a9
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x334]
call fcn.1006fa90
mov eax, dword [eax]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [0x101f8458]
mov edx, dword [ebp - 0x1f4]
mov dword [ecx + 0x78], edx
push 0x100c0224
lea ecx, [ebp - 0x3d0]
call fcn.1006fd60
push 1
lea eax, [ebp - 0x3d0]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007e150
push 0x60
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83a1]
test ecx, ecx
je 0x10075342
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x2d0]
call fcn.1006fa90
mov edx, dword [eax]
mov dword [ebp - 0x1f8], edx
mov eax, dword [0x101f8458]
mov ecx, dword [ebp - 0x1f8]
mov dword [eax + 0x78], ecx
push 0x100c022c
lea ecx, [ebp - 0x3dc]
call fcn.1006fd60
push 1
lea edx, [ebp - 0x3dc]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007e150
push 0x9a
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83a2]
test eax, eax
je 0x100753e6
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x2d4]
call fcn.1006fa90
mov ecx, dword [eax]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [0x101f8458]
mov eax, dword [ebp - 0x1fc]
mov dword [edx + 0x78], eax
push 0x100c023c
lea ecx, [ebp - 0x3e8]
call fcn.1006fd60
push 1
lea ecx, [ebp - 0x3e8]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e150
push 0x9a
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x6e
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83a3]
test edx, edx
je 0x1007540c
push 0x46
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x1007540c
push 0x29d
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83a4]
test ecx, ecx
je 0x1007542e
push 0x12
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0xdb
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83a5]
test edx, edx
je 0x10075464
push 0x92
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x7f
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x4a
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x40
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83a6]
test eax, eax
je 0x10075496
push 0x1e7
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x28b
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x21b
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83a7]
test ecx, ecx
je 0x100754ae
push 0x174
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83a8]
test edx, edx
je 0x100754c6
push 0x198
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83a9]
test eax, eax
je 0x100754de
push 0x175
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83aa]
test ecx, ecx
je 0x100754f6
push 0x170
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83ab]
test edx, edx
je 0x1007550e
push 0x1b2
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83ac]
test eax, eax
je 0x10075536
push 0x78
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
je 0x10075536
push 0x1af
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83ad]
test edx, edx
je 0x100757db
cmp dword [0x101f83b0], 1
jne 0x10075589
push 0x71
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10075589
movzx ecx, byte [0x101f83ae]
test ecx, ecx
jne 0x10075573
mov dword [ebp - 0x94], 1
jmp 0x1007557d
mov dword [ebp - 0x94], 0
mov dl, byte [ebp - 0x94]
mov byte [0x101f83ae], dl
cmp dword [0x101f83b0], 2
jne 0x100755cd
push 0x71
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x100755cd
movzx ecx, byte [0x101f83af]
test ecx, ecx
jne 0x100755b7
mov dword [ebp - 0x98], 1
jmp 0x100755c1
mov dword [ebp - 0x98], 0
mov dl, byte [ebp - 0x98]
mov byte [0x101f83af], dl
cmp dword [0x101f83b0], 3
jne 0x10075611
push 0x71
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10075611
movzx ecx, byte [0x101f83b4]
test ecx, ecx
jne 0x100755fb
mov dword [ebp - 0x9c], 1
jmp 0x10075605
mov dword [ebp - 0x9c], 0
mov dl, byte [ebp - 0x9c]
mov byte [0x101f83b4], dl
movzx eax, byte [0x101f83ae]
test eax, eax
je 0x100756ab
push ecx
movss xmm0, dword [0x10101bc8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10101bc8]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x2d8]
call fcn.1006fa90
mov ecx, dword [eax]
mov dword [ebp - 0x200], ecx
mov edx, dword [0x101f8458]
mov eax, dword [ebp - 0x200]
mov dword [edx + 0x78], eax
push str.UnlimitedAmmo
lea ecx, [ebp - 0x3f4]
call fcn.1006fd60
push 1
lea ecx, [ebp - 0x3f4]
push ecx
mov ecx, dword [0x101f8458]
call fcn.1007e150
push 0xcc
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83af]
test edx, edx
je 0x10075745
push ecx
movss xmm0, dword [0x10101bc8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10101bc8]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x2dc]
call fcn.1006fa90
mov eax, dword [eax]
mov dword [ebp - 0x204], eax
mov ecx, dword [0x101f8458]
mov edx, dword [ebp - 0x204]
mov dword [ecx + 0x78], edx
push str.Susano_effect
lea ecx, [ebp - 0x400]
call fcn.1006fd60
push 1
lea eax, [ebp - 0x400]
push eax
mov ecx, dword [0x101f8458]
call fcn.1007e150
push 0x1e9
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83b4]
test ecx, ecx
je 0x100757db
push ecx
movss xmm0, dword [0x10101bc8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10101bc8]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x2e0]
call fcn.1006fa90
mov edx, dword [eax]
mov dword [ebp - 0x208], edx
mov eax, dword [0x101f8458]
mov ecx, dword [ebp - 0x208]
mov dword [eax + 0x78], ecx
push str.NonAmmo
lea ecx, [ebp - 0x40c]
call fcn.1006fd60
push 1
lea edx, [ebp - 0x40c]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007e150
push 0x52
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83b5]
test eax, eax
je 0x1007580d
push 0x77
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
je 0x1007580d
push 0x23f
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x57
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83b6]
test edx, edx
je 0x10075832
push 0x54
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jge 0x10075832
push 0x159
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
cmp dword [0x101f83b8], 4
jne 0x10075863
push 0x53
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x2c
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x59
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x29
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
cmp dword [0x101f83b8], 3
jne 0x10075893
push 0x251
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x252
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x253
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
cmp dword [0x101f83b8], 2
jne 0x100758b6
push 0x251
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x252
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
cmp dword [0x101f83b8], 1
jne 0x100758cc
push 0x251
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83b7]
test ecx, ecx
je 0x100758e1
push 4
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83bc]
test edx, edx
je 0x100758f9
push 0xdb
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83bd]
test eax, eax
je 0x10075911
push 0x145
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83be]
test ecx, ecx
je 0x100759be
push 0x43
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x9a
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x6e
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100acd6c]
movss dword [esp], xmm0
mov ecx, dword [0x101f8458]
call fcn.1007ed30
push 0xff
push 0x81
push 0xeb
push 0x76
lea ecx, [ebp - 0x2e4]
call fcn.1006fa90
mov edx, dword [eax]
mov dword [ebp - 0x20c], edx
mov eax, dword [0x101f8458]
mov ecx, dword [ebp - 0x20c]
mov dword [eax + 0x78], ecx
push str.Support_Damage
lea ecx, [ebp - 0x418]
call fcn.1006fd60
push 1
lea edx, [ebp - 0x418]
push edx
mov ecx, dword [0x101f8458]
call fcn.1007e150
movzx eax, byte [0x101f83bf]
test eax, eax
je 0x10075a15
push 0x75
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
je 0x10075a15
mov ecx, dword [ebp - 0x10]
call fcn.1007f940
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f890
push 0
mov ecx, dword [ebp - 0x10]
call fcn.1007f890
mov ecx, dword [ebp - 0x10]
call fcn.1007ea70
mov ecx, dword [ebp - 0x10]
call fcn.1007dc50
mov ecx, dword [ebp - 0x10]
call fcn.1007f500
mov ecx, dword [ebp - 0x10]
call fcn.1007f590
movzx edx, byte [0x101f83c0]
test edx, edx
je 0x10075a35
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x5d4]
or ecx, 0x20
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x5d4], ecx
movzx eax, byte [0x101f83c1]
test eax, eax
je 0x10075a57
push 1
mov ecx, dword [ebp - 0x10]
call fcn.1007f6c0
push 1
mov ecx, dword [ebp - 0xa0]
call fcn.1007f610
movzx ecx, byte [0x101f83c2]
test ecx, ecx
je 0x10075a6f
push 0xc0
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83c3]
test edx, edx
je 0x10075a87
push 0x113
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83c4]
test eax, eax
je 0x10075a9f
push 0x298
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83c5]
test ecx, ecx
je 0x10075ab7
push 0xd3
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83c6]
test edx, edx
je 0x10075add
push 0x37
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10075add
push 0x173
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83c8]
test ecx, ecx
je 0x10075af5
push 0xfd
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83c9]
test edx, edx
je 0x10075b0d
push 0x172
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83ca]
test eax, eax
je 0x10075b25
push 0x242
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx ecx, byte [0x101f83cb]
test ecx, ecx
je 0x10075b47
push 0xe8
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
push 0x37
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83cc]
test edx, edx
je 0x10075b5f
push 0x20f
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx eax, byte [0x101f83cd]
test eax, eax
je 0x10075b87
push 0x55
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
je 0x10075b87
push 0x15c
mov ecx, dword [ebp - 0x10]
call fcn.1007f450
movzx edx, byte [0x101f83ef]
test edx, edx
je 0x10075bc0
push 0x60
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x10075bc0
mov ecx, dword [ebp - 0x10]
call fcn.1007dc50
mov ecx, dword [ebp - 0x10]
call fcn.1007f500
mov ecx, dword [ebp - 0x10]
call fcn.1007f590
mov ecx, dword [ebp - 0x10]
call fcn.1007ea70
movss xmm0, dword [0x100accbc]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [0x10101b8c]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [0x100acca8]
movss dword [ebp - 0x24], xmm0
cvtsi2ss xmm0, dword [0x101f844c]
mulss xmm0, dword [0x10101b88]
movss dword [ebp - 0x20], xmm0
cvtsi2ss xmm0, dword [0x101f8448]
mulss xmm0, dword [0x10101b88]
movss dword [ebp - 0x68], xmm0
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
add edx, 0x2dc
mov eax, dword [edx]
mov dword [ebp - 0x48], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x44], ecx
mov edx, dword [edx + 8]
mov dword [ebp - 0x40], edx
movzx eax, byte [0x101f83ce]
test eax, eax
je 0x1007615c
push 0x26
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
test ecx, ecx
jge 0x10075d9a
push 0x61
lea ecx, [ebp - 0x39]
call fcn.1006f550
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov cl, byte [ebp - 0x39]
mov byte [eax + 0x84], cl
lea ecx, [ebp - 0xcc]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x210]
movss xmm0, dword [ebp - 0x210]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xcc], xmm0
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007c270
add esp, 4
fstp dword [ebp - 0x214]
movss xmm0, dword [ebp - 0x214]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xc8], xmm0
push ecx
movss xmm0, dword [ebp - 0x68]
movss dword [esp], xmm0
call fcn.1007c270
add esp, 4
fstp dword [ebp - 0x218]
movss xmm0, dword [ebp - 0x218]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xc4], xmm0
lea ecx, [ebp - 0xd8]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0xc8]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0xc4]
movss dword [ebp - 0xd0], xmm0
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
add eax, 0x2dc
mov ecx, dword [ebp - 0xd8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xd4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
push 0x28
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
test edx, edx
jge 0x10075ed0
push 0x61
lea ecx, [ebp - 0x35]
call fcn.1006f550
mov eax, dword [0x101f845c]
mov ecx, dword [eax + 0x420]
mov dl, byte [ebp - 0x35]
mov byte [ecx + 0x84], dl
lea ecx, [ebp - 0xe4]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x21c]
movss xmm0, dword [ebp - 0x21c]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0xe4], xmm0
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007c270
add esp, 4
fstp dword [ebp - 0x220]
movss xmm0, dword [ebp - 0x220]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0xe0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xdc], xmm0
lea ecx, [ebp - 0xf0]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe8], xmm0
mov eax, dword [0x101f845c]
mov ecx, dword [eax + 0x420]
add ecx, 0x2dc
mov edx, dword [ebp - 0xf0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xec]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xe8]
mov dword [ecx + 8], edx
push 0x25
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jge 0x10075fff
push 0x61
lea ecx, [ebp - 0x36]
call fcn.1006f550
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
mov al, byte [ebp - 0x36]
mov byte [edx + 0x84], al
lea ecx, [ebp - 0xfc]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007c270
add esp, 4
fstp dword [ebp - 0x224]
movss xmm0, dword [ebp - 0x224]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xfc], xmm0
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x228]
movss xmm0, dword [ebp - 0x228]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0xf8], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xf4], xmm0
lea ecx, [ebp - 0x108]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x100], xmm0
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
add edx, 0x2dc
mov eax, dword [ebp - 0x108]
mov dword [edx], eax
mov ecx, dword [ebp - 0x104]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x100]
mov dword [edx + 8], eax
push 0x27
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
test ecx, ecx
jge 0x1007612f
push 0x61
lea ecx, [ebp - 0x37]
call fcn.1006f550
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov cl, byte [ebp - 0x37]
mov byte [eax + 0x84], cl
lea ecx, [ebp - 0x114]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007c270
add esp, 4
fstp dword [ebp - 0x22c]
movss xmm0, dword [ebp - 0x22c]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0x114], xmm0
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x230]
movss xmm0, dword [ebp - 0x230]
mulss xmm0, dword [0x100bb4f4]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x110], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x10c], xmm0
lea ecx, [ebp - 0x120]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0x118], xmm0
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
add eax, 0x2dc
mov ecx, dword [ebp - 0x120]
mov dword [eax], ecx
mov edx, dword [ebp - 0x11c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x118]
mov dword [eax + 8], ecx
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
test edx, edx
jge 0x1007615c
push 1
lea ecx, [ebp - 0x38]
call fcn.1006f550
mov eax, dword [0x101f845c]
mov ecx, dword [eax + 0x420]
mov dl, byte [ebp - 0x38]
mov byte [ecx + 0x84], dl
movzx eax, byte [0x101f83cf]
test eax, eax
je 0x100764fc
push 0x54
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
test ecx, ecx
jge 0x10076292
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov ecx, dword [eax + 0x3c0]
or ecx, 1
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov dword [eax + 0x3c0], ecx
lea ecx, [ebp - 0x29c]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x234]
movss xmm0, dword [ebp - 0x234]
mulss xmm0, dword [0x100bb4f8]
mulss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x294], xmm0
push ecx
movss xmm0, dword [ebp - 0x68]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x238]
movss xmm0, dword [ebp - 0x238]
mulss xmm0, dword [0x100bb4f8]
mulss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x294], xmm0
lea ecx, [ebp - 0x12c]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0x29c]
movss dword [ebp - 0x12c], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x298]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x124], xmm0
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
add edx, 0x2dc
mov eax, dword [ebp - 0x12c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x128]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x124]
mov dword [edx + 8], eax
push 0x59
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
test ecx, ecx
jge 0x100763c7
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov ecx, dword [eax + 0x3c0]
or ecx, 1
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov dword [eax + 0x3c0], ecx
lea ecx, [ebp - 0x2a8]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x23c]
movss xmm0, dword [ebp - 0x23c]
mulss xmm0, dword [0x100bb4f8]
mulss xmm0, dword [ebp - 0x50]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0x2a0], xmm0
push ecx
movss xmm0, dword [ebp - 0x68]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x240]
movss xmm0, dword [ebp - 0x240]
mulss xmm0, dword [0x100bb4f8]
mulss xmm0, dword [ebp - 0x50]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0x2a0], xmm0
lea ecx, [ebp - 0x138]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x130], xmm0
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
add edx, 0x2dc
mov eax, dword [ebp - 0x138]
mov dword [edx], eax
mov ecx, dword [ebp - 0x134]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x130]
mov dword [edx + 8], eax
push 9
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
test ecx, ecx
jge 0x100764fc
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov ecx, dword [eax + 0x3c0]
and ecx, 0xfffffffe
mov edx, dword [0x101f845c]
mov eax, dword [edx + 0x420]
mov dword [eax + 0x3c0], ecx
lea ecx, [ebp - 0x2b4]
call fcn.1006fe30
push ecx
movss xmm0, dword [ebp - 0x20]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x244]
movss xmm0, dword [ebp - 0x244]
mulss xmm0, dword [0x100bb4f8]
mulss xmm0, dword [ebp - 0x50]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0x2ac], xmm0
push ecx
movss xmm0, dword [ebp - 0x68]
movss dword [esp], xmm0
call fcn.1007a370
add esp, 4
fstp dword [ebp - 0x248]
movss xmm0, dword [ebp - 0x248]
mulss xmm0, dword [0x100bb4f8]
mulss xmm0, dword [ebp - 0x50]
xorps xmm0, xmmword [0x100acdd0]
movss dword [ebp - 0x2ac], xmm0
lea ecx, [ebp - 0x144]
call fcn.1006fe30
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ebp - 0x2b4]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x13c], xmm0
mov ecx, dword [0x101f845c]
mov edx, dword [ecx + 0x420]
add edx, 0x2dc
mov eax, dword [ebp - 0x144]
mov dword [edx], eax
mov ecx, dword [ebp - 0x140]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x13c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret