Function at 0x4407c0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
push ecx
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x80]
call ecx
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x358]
mov edx, dword [0x472c14]
mov dword [edx + ecx*4 + 0x180], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x344], eax
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0x404]
test eax, eax
jne 0x44087a
push 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x14]
call edx
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x404], 1
mov ecx, dword [0x472c18]
sub ecx, 1
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], ecx
jne 0x44087a
mov eax, dword [0x472c14]
mov byte [eax + 0x9d0], 1
push ecx
fld dword [ebp + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
call fcn.0043d530
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x30]
call edx
cmp eax, 2
jne 0x44099d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x3e8], 0x1e
jge 0x440980
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
fld dword [ebp + 8]
fadd qword [0x461218]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
push ecx
fstp dword [esp]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
call fcn.004043d0
add esp, 4
fmul qword [0x461ea8]
mov ecx, dword [ebp - 0xc]
fadd dword [ecx + 0x328]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
fstp qword [ebp - 0x18]
call fcn.00404410
add esp, 4
fmul qword [0x461318]
fadd qword [ebp - 0x18]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
push ecx
fstp dword [esp]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
call fcn.00404410
add esp, 4
fmul qword [0x461ea8]
mov edx, dword [ebp - 0xc]
fsubr dword [edx + 0x324]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
fstp qword [ebp - 0x24]
call fcn.004043d0
add esp, 4
fmul qword [0x461318]
fadd qword [ebp - 0x24]
fstp dword [ebp - 0x28]
fld dword [ebp - 0x28]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x234]
call fcn.004494f0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x3e8]
add eax, 1
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x3e8], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x30]
call edx
cmp eax, 8
jne 0x440ab1
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x3e8], 0x1e
jge 0x440a94
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
fld dword [ebp + 8]
fadd qword [0x461218]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x2c]
push ecx
fstp dword [esp]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
call fcn.004043d0
add esp, 4
fmul qword [0x461ea8]
mov ecx, dword [ebp - 0xc]
fadd dword [ecx + 0x328]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
fstp qword [ebp - 0x34]
call fcn.00404410
add esp, 4
fmul qword [0x461318]
fadd qword [ebp - 0x34]
fstp dword [ebp - 0x38]
fld dword [ebp - 0x38]
push ecx
fstp dword [esp]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
call fcn.00404410
add esp, 4
fmul qword [0x461ea8]
mov edx, dword [ebp - 0xc]
fsubr dword [edx + 0x324]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
fstp qword [ebp - 0x40]
call fcn.004043d0
add esp, 4
fmul qword [0x461318]
fadd qword [ebp - 0x40]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x238]
call fcn.004494f0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x3e8]
add eax, 1
cdq
mov ecx, 0x28
idiv ecx
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x3e8], edx
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 0
jne 0x440ada
push 0x57
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 0x8000
neg edx
sbb edx, edx
neg edx
jne 0x440bc1
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 1
jne 0x440b03
push 0x53
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
neg ecx
jne 0x440bc1
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 2
jne 0x440b29
push 0x58
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
neg eax
sbb eax, eax
neg eax
jne 0x440bc1
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 3
jne 0x440b4e
push 0x54
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 0x8000
neg edx
sbb edx, edx
neg edx
jne 0x440bc1
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 4
jne 0x440b73
push 0x47
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
neg ecx
jne 0x440bc1
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 5
jne 0x440b95
push 0x42
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
neg eax
sbb eax, eax
neg eax
jne 0x440bc1
push 8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0xc]
call edx
movzx eax, al
test eax, eax
je 0x440bfc
fld dword [0x4710ec]
fmul qword [0x461228]
mov ecx, dword [ebp - 0xc]
fadd dword [ecx]
mov edx, dword [ebp - 0xc]
fstp dword [edx]
fld dword [ebp + 8]
fadd qword [0x461228]
mov eax, dword [ebp - 0xc]
fld dword [eax]
fcompp
fnstsw ax
test ah, 0x41
jne 0x440bfc
fld dword [ebp + 8]
fadd qword [0x461228]
mov ecx, dword [ebp - 0xc]
fstp dword [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 0
jne 0x440c22
push 0x51
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
neg eax
sbb eax, eax
neg eax
jne 0x440d0c
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 1
jne 0x440c4b
push 0x41
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 0x8000
neg edx
sbb edx, edx
neg edx
jne 0x440d0c
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 2
jne 0x440c74
push 0x5a
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
neg ecx
jne 0x440d0c
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 3
jne 0x440c96
push 0x52
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
neg eax
sbb eax, eax
neg eax
jne 0x440d0c
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 4
jne 0x440cbb
push 0x46
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 0x8000
neg edx
sbb edx, edx
neg edx
jne 0x440d0c
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 5
jne 0x440ce0
push 0x56
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 0x8000
neg ecx
sbb ecx, ecx
neg ecx
jne 0x440d0c
push 4
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
push eax
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0xc]
call eax
movzx ecx, al
test ecx, ecx
je 0x440d3b
fld dword [0x4710ec]
fmul qword [0x461228]
mov edx, dword [ebp - 0xc]
fsubr dword [edx]
mov eax, dword [ebp - 0xc]
fstp dword [eax]
mov ecx, dword [ebp - 0xc]
fld dword [ecx]
fld dword [ebp + 8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x440d3b
mov edx, dword [ebp - 0xc]
fld dword [ebp + 8]
fstp dword [edx]
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 0
jne 0x440d5b
push 0x60
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x440e58
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 1
jne 0x440d79
push 0x61
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x440e58
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 2
jne 0x440d99
push 0x62
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x440e58
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 3
jne 0x440db9
push 0x63
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x440e58
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 4
jne 0x440dd7
push 0x64
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x440e58
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 5
jne 0x440df3
push 0x65
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x440e58
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 6
jne 0x440e0f
push 0x66
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x440e58
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 7
jne 0x440e29
push 0x67
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x440e58
push 0x80
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 4]
call edx
movzx eax, al
test eax, eax
je 0x440e67
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x3fc], eax
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 0
jne 0x440e85
push 0x60
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x440f89
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 1
jne 0x440ea5
push 0x61
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x440f89
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 2
jne 0x440ec5
push 0x62
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x440f89
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 3
jne 0x440ee3
push 0x63
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x440f89
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 4
jne 0x440f03
push 0x64
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x440f89
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 5
jne 0x440f1f
push 0x65
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x440f89
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 6
jne 0x440f39
push 0x66
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x440f89
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 7
jne 0x440f55
push 0x67
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x440f89
push 0x80
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
push ecx
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0xc]
call ecx
movzx edx, al
test edx, edx
je 0x441090
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
sub eax, dword [ecx + 0x3fc]
cmp eax, 0x5dc
jbe 0x441090
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [ebp - 0xc]
sub eax, dword [edx + 0x3fc]
cmp eax, 0x7d0
jae 0x441090
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx edx, word [eax + 0x46]
imul edx, edx, 0x1f4
mov eax, dword [0x472c14]
add edx, dword [eax + ecx*4 + 0x180]
cmp edx, 0xdbba0
jge 0x441090
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x34]
movzx eax, word [ecx + 0x46]
imul eax, eax, 0x64
mov ecx, dword [0x472c14]
add eax, dword [ecx + edx*4 + 0x200]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x358]
mov edx, dword [0x472c14]
mov dword [edx + ecx*4 + 0x200], eax
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x34]
movzx edx, word [ecx + 0x46]
imul edx, edx, 0x64
push edx
mov ecx, dword [ebp - 0xc]
call fcn.00444500
push 0
push ecx
fld1
fstp dword [esp]
push 0
fld dword [0x471108]
fmul qword [0x461600]
call fcn.0044e7e0
push eax
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0xdc]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0xa4]
call ecx
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x3fc], 0
push 0x70
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x130]
call edx
movzx eax, al
test eax, eax
je 0x441103
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x34]
movzx eax, word [ecx + 0x46]
imul eax, eax, 0x64
mov ecx, dword [0x472c14]
add eax, dword [ecx + edx*4 + 0x200]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x358]
mov edx, dword [0x472c14]
mov dword [edx + ecx*4 + 0x200], eax
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x34]
movzx edx, word [ecx + 0x46]
imul edx, edx, 0x64
push edx
mov ecx, dword [ebp - 0xc]
call fcn.00444500
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 0
jne 0x441123
push 0x60
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441224
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 1
jne 0x441141
push 0x61
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441224
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 2
jne 0x441161
push 0x62
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441224
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 3
jne 0x441181
push 0x63
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441224
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 4
jne 0x44119f
push 0x64
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441224
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 5
jne 0x4411bb
push 0x65
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441224
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 6
jne 0x4411d7
push 0x66
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441224
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 7
jne 0x4411f1
push 0x67
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441224
push 0x80
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 8]
call edx
movzx eax, al
test eax, eax
je 0x441311
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
sub eax, dword [ecx + 0x3fc]
cmp eax, 0x3e8
jae 0x441304
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0x34]
movzx ecx, word [edx + 0x46]
imul ecx, ecx, 0xa
mov edx, dword [0x472c14]
add ecx, dword [edx + eax*4 + 0x180]
cmp ecx, 0xdbba0
jge 0x441304
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx edx, word [eax + 0x46]
imul edx, edx, 0xa
mov eax, dword [0x472c14]
add edx, dword [eax + ecx*4 + 0x200]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x358]
mov ecx, dword [0x472c14]
mov dword [ecx + eax*4 + 0x200], edx
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx ecx, word [eax + 0x46]
imul ecx, ecx, 0xa
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.00444500
push 0
push ecx
fld1
fstp dword [esp]
push 0
fld dword [0x471108]
fmul qword [0x461600]
call fcn.0044e7e0
push eax
mov edx, dword [0x472c14]
mov eax, dword [edx + 0xdc]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0xa4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x3fc], 0
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 0
jne 0x44132f
push 0x70
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441428
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 1
jne 0x44134f
push 0x71
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441428
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 2
jne 0x44136f
push 0x72
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441428
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 3
jne 0x44138d
push 0x73
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441428
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 4
jne 0x4413a9
push 0x74
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441428
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 5
jne 0x4413c5
push 0x75
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441428
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 6
jne 0x4413df
push 0x76
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441428
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 7
jne 0x4413fb
push 0x77
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441428
push 0x40
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
push ecx
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 4]
call ecx
movzx edx, al
test edx, edx
je 0x441437
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x400], eax
push 0x40
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
push eax
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0xc]
call eax
movzx ecx, al
test ecx, ecx
je 0x441572
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [ebp - 0xc]
sub eax, dword [edx + 0x400]
cmp eax, 0x7d0
jbe 0x441572
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
sub eax, dword [ecx + 0x400]
cmp eax, 0xbb8
jae 0x441572
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0x34]
movzx ecx, word [edx + 0x46]
mov edx, dword [0x472c14]
mov eax, dword [edx + eax*4 + 0x180]
sub eax, ecx
js 0x441572
push 0
push ecx
fld1
fstp dword [esp]
push 0
fld dword [0x471108]
fmul qword [0x461600]
call fcn.0044e7e0
push eax
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0xdc]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0xa4]
call edx
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x400], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
mov eax, dword [0x472c14]
mov edx, dword [eax + edx*4 + 0x240]
mov eax, dword [0x472c14]
add edx, dword [eax + ecx*4 + 0x180]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x358]
mov ecx, dword [0x472c14]
mov dword [ecx + eax*4 + 0x240], edx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + eax*4 + 0x180]
push edx
mov ecx, dword [ebp - 0xc]
call fcn.00444440
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 0
jne 0x441592
push 0x70
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441690
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 1
jne 0x4415b0
push 0x71
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441690
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 2
jne 0x4415d0
push 0x72
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441690
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 3
jne 0x4415f0
push 0x73
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441690
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 4
jne 0x44160e
push 0x74
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441690
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 5
jne 0x44162a
push 0x75
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441690
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 6
jne 0x441646
push 0x76
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441690
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 7
jne 0x441660
push 0x77
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441690
push 0x40
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 8]
call edx
movzx eax, al
test eax, eax
je 0x441779
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
sub eax, dword [ecx + 0x400]
cmp eax, 0x12c
jae 0x44176c
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0x34]
movzx ecx, word [edx + 0x46]
imul ecx, ecx, 0xa
mov edx, dword [0x472c14]
mov eax, dword [edx + eax*4 + 0x180]
sub eax, ecx
js 0x44176c
push 0
push ecx
fld1
fstp dword [esp]
push 0
fld dword [0x471108]
fmul qword [0x461600]
call fcn.0044e7e0
push eax
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0xdc]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0xa4]
call edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx edx, word [eax + 0x46]
imul edx, edx, 0xa
mov eax, dword [0x472c14]
add edx, dword [eax + ecx*4 + 0x240]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x358]
mov ecx, dword [0x472c14]
mov dword [ecx + eax*4 + 0x240], edx
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx ecx, word [eax + 0x46]
imul ecx, ecx, 0xa
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.00444440
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x400], 0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 0
jne 0x441799
push 0x31
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x4418b8
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 1
jne 0x4417b7
push 0x32
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x4418b8
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 2
jne 0x4417d7
push 0x33
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x4418b8
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 3
jne 0x4417f7
push 0x34
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x4418b8
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 4
jne 0x441815
push 0x35
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x4418b8
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 5
jne 0x441835
push 0x36
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x4418b8
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 6
jne 0x441851
push 0x37
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x4418b8
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 7
jne 0x44186b
push 0x38
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x4418b8
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 8
jne 0x441887
push 0x39
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x4418b8
push 0x10
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x358]
push ecx
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0xc]
call ecx
movzx edx, al
test edx, edx
je 0x441a16
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x3f0], 0
jne 0x4419f5
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x3f0], eax
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx ecx, word [eax + 0x40]
mov edx, dword [ebp - 0xc]
add ecx, dword [edx + 0x37c]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x37c], ecx
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0x34]
movzx eax, word [edx + 0x42]
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x37c], eax
jle 0x441924
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x34]
movzx ecx, word [eax + 0x40]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x37c], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x37c]
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.00444870
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
mov ecx, dword [0x472c14]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x37c]
mov dword [ecx + eax*4 + 0x1c0], edx
push 0
push ecx
fld1
fstp dword [esp]
push 0
fld dword [0x471108]
fmul qword [0x461600]
call fcn.0044e7e0
push eax
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x90]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0xa4]
call ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [edx + 0x370]
cmp ecx, dword [eax + 0x37c]
je 0x4419e1
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x37c], 0x32
je 0x4419c8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax + 0x370]
cmp edx, dword [ecx + 0x310]
jne 0x4419e1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x374], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x378], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x37c]
mov dword [edx + 0x370], ecx
jmp 0x441a16
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [ebp - 0xc]
sub eax, dword [edx + 0x3f0]
cmp eax, 0x50
jbe 0x441a16
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x3f0], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x114]
call edx
movzx eax, al
test eax, eax
jne 0x441b4d
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 0
jne 0x441a67
push 0x45
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441b4d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 1
jne 0x441a87
push 0x44
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441b4d
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 2
jne 0x441aa5
push 0x43
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441b4d
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 3
jne 0x441ac5
push 0x59
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441b4d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 4
jne 0x441ae1
push 0x48
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441b4d
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 5
jne 0x441afb
push 0x4e
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
jne 0x441b4d
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x358], 6
jne 0x441b17
push 0x55
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx edx, ax
and edx, 1
jne 0x441b4d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x358], 7
jne 0x441b33
push 0x49
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
movsx ecx, ax
and ecx, 1
jne 0x441b4d
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x358], 8
jne 0x441b83
push 0x4f
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
je 0x441b83
mov ecx, dword [ebp - 0xc]
call fcn.0043b980
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x344]
mov dword [ecx + 0x340], eax
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0x40d]
neg edx
sbb edx, edx
add edx, 1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x40d], dl
jmp 0x441c02
push 0x20
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [0x472c14]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0xc]
call edx
movzx eax, al
test eax, eax
jne 0x441bce
mov ecx, dword [0x472c14]
movzx edx, byte [ecx + 0xf1]
test edx, edx
je 0x441c02
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x40d]
test ecx, ecx
je 0x441c02
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [edx + 0x344]
sub ecx, dword [eax + 0x340]
cmp ecx, 0x15e
jbe 0x441c02
mov ecx, dword [ebp - 0xc]
call fcn.0043b980
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x344]
mov dword [edx + 0x340], ecx
mov edx, dword [ebp + 0xc]
push edx
push ecx
fld dword [ebp + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
call fcn.0043c0a0
push ecx
fld dword [ebp + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
call fcn.0043bdd0
push ecx
fld dword [ebp + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
call fcn.0043ff20
push ecx
fld dword [ebp + 8]
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
call fcn.0043f020
push 1
push 8
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x90]
call edx
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x424]
call fcn.0044cfa0
push 0
push 8
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0x90]
call eax
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x428]
call fcn.0044cfa0
push 0
push 6
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x90]
call ecx
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x42c]
call fcn.0044cfa0
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0x43c]
test ecx, ecx
je 0x441d99
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x90]
call ecx
mov edx, dword [ebp - 0xc]
fadd dword [edx + 0x438]
mov eax, dword [ebp - 0xc]
fstp dword [eax + 0x438]
mov ecx, dword [ebp - 0xc]
fld dword [ecx + 0x438]
fcomp qword [0x461628]
fnstsw ax
test ah, 0x41
jne 0x441d99
push ecx
fld dword [ebp + 8]
fstp dword [esp]
call fcn.00404410
add esp, 4
fmul qword [0x462ec0]
fmul dword [0x472c30]
mov edx, dword [ebp - 0xc]
fsubr dword [edx + 0x328]
fstp dword [ebp - 0x48]
fld dword [ebp - 0x48]
push ecx
fstp dword [esp]
push ecx
fld dword [ebp + 8]
fstp dword [esp]
call fcn.004043d0
add esp, 4
fmul qword [0x462ec0]
fmul dword [0x472c2c]
mov eax, dword [ebp - 0xc]
fsubr dword [eax + 0x324]
fstp dword [ebp - 0x4c]
fld dword [ebp - 0x4c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x424]
call fcn.0044cf70
mov edx, dword [ebp - 0xc]
fldz
fstp dword [edx + 0x438]
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x43c], 0
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x424]
call fcn.0044aab0
push ecx
fldz
fstp dword [esp]
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x428]
call fcn.0044aab0
push ecx
fldz
fstp dword [esp]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x42c]
call fcn.0044aab0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x358]
mov eax, dword [0x472c14]
mov ecx, dword [eax + edx*4 + 0x180]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x358]
push eax
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0x84]
call eax
mov ecx, dword [0x472c14]
movzx edx, byte [ecx + 0xf1]
test edx, edx
je 0x442268
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x9cc]
push ecx
mov edx, dword [eax + 0x9c8]
push edx
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x9c4]
push ecx
mov edx, dword [eax + 0x9c0]
push edx
push str.allin:__I64d_allout:__I64d
push 0
push ecx
fld dword [0x461294]
fstp dword [esp]
push ecx
fld dword [0x461294]
fstp dword [esp]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.0044a100
add esp, 0x24
mov edx, dword [0x472c14]
mov eax, dword [0x472c14]
mov ecx, dword [edx + 0x9c8]
sub ecx, dword [eax + 0x9c0]
mov edx, dword [edx + 0x9cc]
sbb edx, dword [eax + 0x9c4]
push edx
push ecx
push str.lirun:__I64d
push 0
push ecx
fld dword [0x461adc]
fstp dword [esp]
push ecx
fld dword [0x461294]
fstp dword [esp]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.0044a100
add esp, 0x1c
mov edx, dword [0x472c14]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x9cc], 0
jl 0x441f6e
jg 0x441ef6
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x9c8], 0
jbe 0x441f6e
mov edx, dword [0x472c14]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0x9c4], 0
jl 0x441f6e
jg 0x441f19
mov ecx, dword [ebp - 0x54]
cmp dword [ecx + 0x9c0], 0
jbe 0x441f6e
mov edx, dword [0x472c14]
fild qword [edx + 0x9c0]
mov eax, dword [0x472c14]
fild qword [eax + 0x9c8]
fdivp st(1)
fmul qword [0x461600]
sub esp, 8
fstp qword [esp]
push str.lirun:__.2f___
push 0
push ecx
fld dword [0x4612f8]
fstp dword [esp]
push ecx
fld dword [0x461294]
fstp dword [esp]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0xfc]
push edx
call fcn.0044a100
add esp, 0x1c
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x17c]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ecx + 0x28]
push eax
push str.FireTimes:__I64d
push 0
push ecx
fld dword [0x463000]
fstp dword [esp]
push ecx
fld dword [0x461294]
fstp dword [esp]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0xfc]
push edx
call fcn.0044a100
add esp, 0x1c
mov dword [ebp - 4], 0
jmp 0x441fc3
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jge 0x4420e0
mov ecx, dword [ebp - 4]
mov edx, dword [0x472c14]
fild dword [edx + ecx*4 + 0x340]
fmul qword [0x461600]
mov eax, dword [ebp - 4]
mov ecx, dword [0x472c14]
fidiv dword [ecx + eax*4 + 0x380]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 4]
add edx, 1
push edx
mov eax, dword [ebp - 4]
imul eax, eax, 0xc
mov ecx, dword [0x472c14]
mov edx, dword [ecx + eax + 0x9f4]
push edx
mov eax, dword [ebp - 4]
imul eax, eax, 0xc
mov ecx, dword [0x472c14]
mov edx, dword [ecx + eax + 0x9f0]
push edx
push 0x462e6c
push 0
push ecx
fld dword [0x462ffc]
fstp dword [esp]
mov eax, dword [ebp - 4]
imul eax, eax, 0x15e
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fadd qword [0x461278]
fstp dword [ebp - 0x5c]
fld dword [ebp - 0x5c]
push ecx
fstp dword [esp]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0xfc]
push edx
call fcn.0044a100
add esp, 0x28
mov eax, dword [ebp - 4]
push eax
push 0x280
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0x58]
call eax
push eax
mov ecx, dword [ebp - 4]
add ecx, 1
push ecx
push str.__d:_d_
push 0
push ecx
fld dword [0x461a50]
fstp dword [esp]
mov edx, dword [ebp - 4]
imul edx, edx, 0x15e
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
fadd qword [0x461278]
fstp dword [ebp - 0x64]
fld dword [ebp - 0x64]
push ecx
fstp dword [esp]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.0044a100
add esp, 0x1c
jmp 0x441fba
mov dword [ebp - 8], 4
jmp 0x4420f2
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 8
jge 0x4421a0
mov eax, dword [ebp - 8]
mov ecx, dword [0x472c14]
fild dword [ecx + eax*4 + 0x340]
fmul qword [0x461600]
mov edx, dword [ebp - 8]
mov eax, dword [0x472c14]
fidiv dword [eax + edx*4 + 0x380]
sub esp, 8
fstp qword [esp]
mov ecx, dword [ebp - 8]
add ecx, 1
push ecx
mov edx, dword [ebp - 8]
imul edx, edx, 0xc
mov eax, dword [0x472c14]
mov ecx, dword [eax + edx + 0x9f4]
push ecx
mov edx, dword [ebp - 8]
imul edx, edx, 0xc
mov eax, dword [0x472c14]
mov ecx, dword [eax + edx + 0x9f0]
push ecx
push str._d__d__d:__.2f___
push 0
push ecx
fld dword [0x462ff8]
fstp dword [esp]
mov edx, dword [ebp - 8]
sub edx, 4
imul edx, edx, 0x15e
mov dword [ebp - 0x68], edx
fild dword [ebp - 0x68]
fadd qword [0x461278]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x6c]
push ecx
fstp dword [esp]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.0044a100
add esp, 0x28
jmp 0x4420e9
mov edx, dword [0x472c14]
mov eax, dword [edx + 0x9d8]
push eax
push str.TF:__d
push 0
push ecx
fld dword [0x4612b8]
fstp dword [esp]
push ecx
fld dword [0x4612b8]
fstp dword [esp]
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 0xfc]
push edx
call fcn.0044a100
add esp, 0x18
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0x9e0]
push ecx
push str.TC:__d
push 0
push ecx
fld dword [0x461558]
fstp dword [esp]
push ecx
fld dword [0x4612b8]
fstp dword [esp]
mov edx, dword [0x472c14]
mov eax, dword [edx + 0xfc]
push eax
call fcn.0044a100
add esp, 0x18
mov ecx, dword [0x472c14]
fild qword [ecx + 0x9d8]
mov edx, dword [0x472c14]
fild qword [edx + 0x9e0]
fdivp st(1)
sub esp, 8
fstp qword [esp]
push str.TF_TC:__.2f__
push 0
push ecx
fld dword [0x461b44]
fstp dword [esp]
push ecx
fld dword [0x4612b8]
fstp dword [esp]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.0044a100
add esp, 0x1c
mov esp, ebp
pop ebp
ret 8