Function at 0x40c510
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x490
push esi
mov dword [ebp - 0x20c], ecx
mov eax, dword [ebp + 8]
imul eax, eax, 0x304
mov ecx, dword [ebp - 0x20c]
lea edx, [ecx + eax + 4]
mov dword [ebp - 4], edx
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x80
je 0x40c594
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
cmp eax, dword [edx + 0x78]
jae 0x40c55d
jmp 0x40eb98
call dword [sym.imp.winmm.dll_timeGetTime]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x74]
mov ecx, dword [ebp - 4]
add eax, dword [ecx + 0x70]
mov edx, dword [ebp - 4]
mov dword [edx + 0x74], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x80
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov byte [eax + 0x10], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x2000000
je 0x40cc16
mov ecx, 0x1ce8830
call fcn.0040b490
call fcn.004857c0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x40cc16
mov eax, dword [ebp - 4]
fld dword [eax + 0xd8]
mov ecx, dword [ebp - 4]
fsub dword [ecx + 0x168]
fmul qword [0x4b6338]
fstp dword [ebp - 0x14]
mov edx, dword [ebp - 4]
fld dword [edx + 0x14c]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c609
mov eax, dword [ebp - 4]
fld dword [eax + 0x150]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x41
je 0x40c63d
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x14c]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x41
jne 0x40c6c9
mov edx, dword [ebp - 4]
fld dword [edx + 0x150]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c6c9
mov eax, dword [ebp - 4]
fld dword [eax + 0x150]
mov ecx, dword [ebp - 4]
fadd dword [ecx + 0x14c]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x150]
fld dword [ebp - 0x14]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c697
mov eax, dword [ebp - 4]
fld dword [eax + 0x150]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x154]
fcompp
fnstsw ax
test ah, 5
jp 0x40c695
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0x154]
fstp dword [edx + 0x150]
jmp 0x40c6c4
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x150]
mov edx, dword [ebp - 4]
fld dword [edx + 0x154]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40c6c4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x154]
fstp dword [eax + 0x150]
jmp 0x40c750
mov edx, dword [ebp - 4]
fld dword [edx + 0x150]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x14c]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x150]
fld dword [ebp - 0x14]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c723
mov edx, dword [ebp - 4]
fld dword [edx + 0x150]
mov eax, dword [ebp - 4]
fld dword [eax + 0x154]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40c721
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0x154]
fstp dword [ecx + 0x150]
jmp 0x40c750
mov eax, dword [ebp - 4]
fld dword [eax + 0x150]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x154]
fcompp
fnstsw ax
test ah, 5
jp 0x40c750
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0x154]
fstp dword [edx + 0x150]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
mov edx, dword [ebp - 4]
fsub dword [edx + 0x168]
fstp dword [ebp - 0x210]
fld dword [ebp - 0x210]
push ecx
fstp dword [esp]
call fcn.0040b180
add esp, 4
mov eax, dword [ebp - 4]
push ecx
fld dword [eax + 0x150]
fstp dword [esp]
fstp qword [ebp - 0x218]
call fcn.0040b180
add esp, 4
fcomp qword [ebp - 0x218]
fnstsw ax
test ah, 0x41
jne 0x40c86c
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x168]
mov eax, dword [ebp - 4]
fld dword [eax + 0xd8]
fsub qword [0x4b6190]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1bc]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b6190]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x21c], 0
fild qword [ebp - 0x220]
faddp st(1)
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1a0]
mov eax, dword [ebp - 4]
fld dword [eax + 0xd8]
fsub qword [0x4b6190]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x224], 0
fild qword [ebp - 0x228]
faddp st(1)
mov eax, dword [ebp - 4]
fstp dword [eax + 0x184]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fstp dword [ecx + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fstp dword [eax + 0x20]
mov edx, dword [ebp - 4]
mov byte [edx + 0x164], 1
jmp 0x40c8cc
mov eax, dword [ebp - 4]
fld dword [eax + 0x150]
fstp dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x168]
fadd dword [ebp - 0x18]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x168]
mov eax, dword [ebp - 4]
fld dword [eax + 0x184]
fadd dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x184]
mov edx, dword [ebp - 4]
fld dword [edx + 0x1a0]
fadd dword [ebp - 0x18]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1a0]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x1bc]
fadd dword [ebp - 0x18]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1bc]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
mov ecx, dword [ebp - 4]
fsub dword [ecx + 0x16c]
fmul qword [0x4b6338]
fstp dword [ebp - 0x10]
mov edx, dword [ebp - 4]
fld dword [edx + 0x158]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c913
mov eax, dword [ebp - 4]
fld dword [eax + 0x15c]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x41
je 0x40c947
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x158]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x41
jne 0x40c9d3
mov edx, dword [ebp - 4]
fld dword [edx + 0x15c]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c9d3
mov eax, dword [ebp - 4]
fld dword [eax + 0x15c]
mov ecx, dword [ebp - 4]
fadd dword [ecx + 0x158]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x15c]
fld dword [ebp - 0x10]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40c9a1
mov eax, dword [ebp - 4]
fld dword [eax + 0x15c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x160]
fcompp
fnstsw ax
test ah, 5
jp 0x40c99f
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0x160]
fstp dword [edx + 0x15c]
jmp 0x40c9ce
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x15c]
mov edx, dword [ebp - 4]
fld dword [edx + 0x160]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40c9ce
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x160]
fstp dword [eax + 0x15c]
jmp 0x40ca5a
mov edx, dword [ebp - 4]
fld dword [edx + 0x15c]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x158]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x15c]
fld dword [ebp - 0x10]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40ca2d
mov edx, dword [ebp - 4]
fld dword [edx + 0x15c]
mov eax, dword [ebp - 4]
fld dword [eax + 0x160]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40ca2b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0x160]
fstp dword [ecx + 0x15c]
jmp 0x40ca5a
mov eax, dword [ebp - 4]
fld dword [eax + 0x15c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x160]
fcompp
fnstsw ax
test ah, 5
jp 0x40ca5a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0x160]
fstp dword [edx + 0x15c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
mov edx, dword [ebp - 4]
fsub dword [edx + 0x16c]
fstp dword [ebp - 0x22c]
fld dword [ebp - 0x22c]
push ecx
fstp dword [esp]
call fcn.0040b180
add esp, 4
mov eax, dword [ebp - 4]
push ecx
fld dword [eax + 0x15c]
fstp dword [esp]
fstp qword [ebp - 0x234]
call fcn.0040b180
add esp, 4
fcomp qword [ebp - 0x234]
fnstsw ax
test ah, 0x41
jne 0x40cb76
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x16c]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fsub qword [0x4b6190]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x238], 0
fild qword [ebp - 0x23c]
faddp st(1)
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1c0]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], 0
fild qword [ebp - 0x244]
faddp st(1)
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1a4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xdc]
fsub qword [0x4b6190]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x188]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fstp dword [ecx + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fstp dword [eax + 0x20]
mov edx, dword [ebp - 4]
mov byte [edx + 0x165], 1
jmp 0x40cbd6
mov eax, dword [ebp - 4]
fld dword [eax + 0x15c]
fstp dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x16c]
fadd dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x16c]
mov eax, dword [ebp - 4]
fld dword [eax + 0x188]
fadd dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x188]
mov edx, dword [ebp - 4]
fld dword [edx + 0x1a4]
fadd dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1a4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x1c0]
fadd dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1c0]
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x164]
cmp ecx, 1
jne 0x40cc08
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x165]
cmp eax, 1
jne 0x40cc08
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x2000000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
jmp 0x40cc16
mov ecx, dword [ebp - 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x40c5b8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 1
je 0x40d69a
mov ecx, 0x1ce8830
call fcn.0040b490
fstp dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x84]
fmul dword [ebp - 0x28]
fstp dword [ebp - 0x20]
mov edx, dword [ebp - 4]
fld dword [edx + 0x88]
fmul dword [ebp - 0x28]
fstp dword [ebp - 0x24]
mov eax, dword [ebp - 4]
fld dword [eax + 0x7c]
fadd dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x7c]
mov edx, dword [ebp - 4]
fld dword [edx + 0x168]
fadd dword [ebp - 0x20]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x168]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x16c]
fadd dword [ebp - 0x24]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x16c]
mov eax, dword [ebp - 4]
fld dword [eax + 0x184]
fadd dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x184]
mov edx, dword [ebp - 4]
fld dword [edx + 0x188]
fadd dword [ebp - 0x24]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x188]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x1a0]
fadd dword [ebp - 0x20]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1a0]
mov eax, dword [ebp - 4]
fld dword [eax + 0x1a4]
fadd dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1a4]
mov edx, dword [ebp - 4]
fld dword [edx + 0x1bc]
fadd dword [ebp - 0x20]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1bc]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x1c0]
fadd dword [ebp - 0x24]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1c0]
mov eax, dword [ebp - 4]
fld dword [eax + 0x80]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jnp 0x40cfa4
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x80]
mov edx, dword [ebp - 4]
fld dword [edx + 0x7c]
fcompp
fnstsw ax
test ah, 1
jne 0x40cf9f
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fsub qword [0x4b6190]
fstp dword [ebp - 0x248]
fld dword [ebp - 0x248]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x24c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x138]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x168
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], 0
fild qword [ebp - 0x254]
faddp st(1)
fstp dword [ebp - 0x258]
fld dword [ebp - 0x258]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
fstp dword [ebp - 0x25c]
fld dword [ebp - 0x25c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x148]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x1bc
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], 0
fild qword [ebp - 0x264]
faddp st(1)
fstp dword [ebp - 0x268]
fld dword [ebp - 0x268]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], 0
fild qword [ebp - 0x270]
faddp st(1)
fstp dword [ebp - 0x274]
fld dword [ebp - 0x274]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x158]
call fcn.00401000
mov ecx, dword [ebp - 4]
add ecx, 0x1a0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
fstp dword [ebp - 0x278]
fld dword [ebp - 0x278]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b6190]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x27c], 0
fild qword [ebp - 0x280]
faddp st(1)
fstp dword [ebp - 0x284]
fld dword [ebp - 0x284]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x168]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x184
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
fldz
fstp dword [ecx + 0x80]
jmp 0x40d69a
fldz
fstp dword [ebp - 0x38]
fldz
fstp dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
fld dword [edx + 0x1c]
mov eax, dword [ebp - 4]
fld dword [eax + 0xd8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40cfe6
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x168]
fstp dword [ebp - 0x38]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b6190]
fstp dword [ebp - 0x3c]
jmp 0x40d028
mov eax, dword [ebp - 4]
fld dword [eax + 0x1c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fcompp
fnstsw ax
test ah, 5
jp 0x40d01e
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b6190]
fstp dword [ebp - 0x38]
mov eax, dword [ebp - 4]
fld dword [eax + 0x168]
fstp dword [ebp - 0x3c]
jmp 0x40d028
fldz
fstp dword [ebp - 0x38]
fldz
fstp dword [ebp - 0x3c]
fldz
fstp dword [ebp - 0x2c]
fldz
fstp dword [ebp - 0x30]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x20]
mov edx, dword [ebp - 4]
fld dword [edx + 0xdc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40d06a
mov eax, dword [ebp - 4]
fld dword [eax + 0x16c]
fstp dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
fstp dword [ebp - 0x30]
jmp 0x40d0ac
mov edx, dword [ebp - 4]
fld dword [edx + 0x20]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fcompp
fnstsw ax
test ah, 5
jp 0x40d0a2
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
fstp dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
fld dword [edx + 0x16c]
fstp dword [ebp - 0x30]
jmp 0x40d0ac
fldz
fstp dword [ebp - 0x2c]
fldz
fstp dword [ebp - 0x30]
fld1
fstp dword [ebp - 0x34]
mov eax, dword [ebp - 4]
fld dword [eax + 0xc8]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jnp 0x40d0d3
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xc8]
fstp dword [ebp - 0x34]
fld dword [ebp - 0x38]
fld dword [ebp - 0x3c]
fcompp
fnstsw ax
test ah, 5
jnp 0x40d141
fld dword [ebp - 0x2c]
fld dword [ebp - 0x30]
fcompp
fnstsw ax
test ah, 5
jnp 0x40d141
fld dword [ebp - 0x38]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jp 0x40d69a
fld dword [ebp - 0x3c]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jp 0x40d69a
fld dword [ebp - 0x2c]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jp 0x40d69a
fld dword [ebp - 0x30]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jp 0x40d69a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x4000000
je 0x40d419
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd4]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x88]
fsub qword [0x4b6190]
fstp dword [ebp - 0x288]
fld dword [ebp - 0x288]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 4]
fld dword [eax + 0xd0]
mov ecx, dword [ebp - 4]
fadd dword [ecx + 0x84]
fsub qword [0x4b6190]
fstp dword [ebp - 0x28c]
fld dword [ebp - 0x28c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x178]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x168
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd4]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x88]
fsub qword [0x4b6190]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], 0
fild qword [ebp - 0x294]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x298]
fld dword [ebp - 0x298]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd0]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x84]
fsub qword [0x4b6190]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x29c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x188]
call fcn.00401000
mov ecx, dword [ebp - 4]
add ecx, 0x1bc
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd4]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x88]
fsub qword [0x4b6190]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], 0
fild qword [ebp - 0x2a4]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x2a8]
fld dword [ebp - 0x2a8]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd0]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x84]
fsub qword [0x4b6190]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2ac], 0
fild qword [ebp - 0x2b0]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x2b4]
fld dword [ebp - 0x2b4]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x198]
call fcn.00401000
mov ecx, dword [ebp - 4]
add ecx, 0x1a0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd4]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x88]
fsub qword [0x4b6190]
fstp dword [ebp - 0x2b8]
fld dword [ebp - 0x2b8]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 4]
fld dword [eax + 0xd0]
mov ecx, dword [ebp - 4]
fadd dword [ecx + 0x84]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], 0
fild qword [ebp - 0x2c0]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2c4]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1a8]
call fcn.00401000
mov ecx, dword [ebp - 4]
add ecx, 0x184
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd0]
fstp dword [ecx + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd4]
fstp dword [eax + 0x20]
mov edx, dword [ebp - 4]
fld1
fstp dword [edx + 0x7c]
jmp 0x40d69a
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fsub qword [0x4b6190]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c8]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
fstp dword [ebp - 0x2cc]
fld dword [ebp - 0x2cc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1b8]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x168
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d0], 0
fild qword [ebp - 0x2d4]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
fstp dword [ebp - 0x2dc]
fld dword [ebp - 0x2dc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1c8]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x1bc
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], 0
fild qword [ebp - 0x2e4]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x2e8]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], 0
fild qword [ebp - 0x2f0]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x2f4]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1d8]
call fcn.00401000
mov ecx, dword [ebp - 4]
add ecx, 0x1a0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b6190]
fstp dword [ebp - 0x2f8]
fld dword [ebp - 0x2f8]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b6190]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x2fc], 0
fild qword [ebp - 0x300]
fmul dword [ebp - 0x34]
faddp st(1)
fstp dword [ebp - 0x304]
fld dword [ebp - 0x304]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1e8]
call fcn.00401000
mov edx, dword [ebp - 4]
add edx, 0x184
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fstp dword [ecx + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fstp dword [eax + 0x20]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20
je 0x40d977
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x308], 0
fild qword [ebp - 0x30c]
fstp qword [ebp - 0x314]
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x318], 0
fild qword [ebp - 0x31c]
fsubr qword [ebp - 0x314]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x74]
sub edx, dword [ecx + 0x70]
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x320], 0
fild qword [ebp - 0x324]
fdivp st(1)
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40d738
fld1
fstp dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x20
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
lea ecx, [ebp - 0x54]
call fcn.00401000
fld dword [ebp - 0x44]
fcomp qword [0x4b6330]
fnstsw ax
test ah, 0x41
jne 0x40d7a3
fld dword [ebp - 0x44]
fsub qword [0x4b6330]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x58]
push ecx
fld dword [ebp - 0x58]
fstp dword [esp]
mov eax, dword [ebp - 4]
add eax, 0x2c
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x10c
push ecx
lea edx, [ebp - 0x54]
push edx
call fcn.0040b420
add esp, 0x10
jmp 0x40d869
fld dword [ebp - 0x44]
fcomp qword [0x4b6190]
fnstsw ax
test ah, 0x41
jne 0x40d7ed
fld dword [ebp - 0x44]
fsub qword [0x4b6190]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x58]
push ecx
fld dword [ebp - 0x58]
fstp dword [esp]
mov eax, dword [ebp - 4]
add eax, 0x10c
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x11c
push ecx
lea edx, [ebp - 0x54]
push edx
call fcn.0040b420
add esp, 0x10
jmp 0x40d869
fld dword [ebp - 0x44]
fcomp qword [0x4b6328]
fnstsw ax
test ah, 0x41
jne 0x40d837
fld dword [ebp - 0x44]
fsub qword [0x4b6328]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x58]
push ecx
fld dword [ebp - 0x58]
fstp dword [esp]
mov eax, dword [ebp - 4]
add eax, 0x11c
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x12c
push ecx
lea edx, [ebp - 0x54]
push edx
call fcn.0040b420
add esp, 0x10
jmp 0x40d869
fld dword [ebp - 0x44]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x58]
push ecx
fld dword [ebp - 0x58]
fstp dword [esp]
mov eax, dword [ebp - 4]
add eax, 0x12c
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x13c
push ecx
lea edx, [ebp - 0x54]
push edx
call fcn.0040b420
add esp, 0x10
fld dword [ebp - 0x48]
fnstcw word [ebp - 0x326]
movzx eax, word [ebp - 0x326]
or eax, 0xc00
mov dword [ebp - 0x32c], eax
fldcw word [ebp - 0x32c]
fistp qword [ebp - 0x334]
fldcw word [ebp - 0x326]
mov ecx, dword [ebp - 0x334]
shl ecx, 0x18
fld dword [ebp - 0x54]
fnstcw word [ebp - 0x336]
movzx eax, word [ebp - 0x336]
or eax, 0xc00
mov dword [ebp - 0x33c], eax
fldcw word [ebp - 0x33c]
fistp qword [ebp - 0x344]
fldcw word [ebp - 0x336]
mov edx, dword [ebp - 0x344]
shl edx, 0x10
or ecx, edx
fld dword [ebp - 0x50]
fnstcw word [ebp - 0x346]
movzx eax, word [ebp - 0x346]
or eax, 0xc00
mov dword [ebp - 0x34c], eax
fldcw word [ebp - 0x34c]
fistp qword [ebp - 0x354]
fldcw word [ebp - 0x346]
mov eax, dword [ebp - 0x354]
shl eax, 8
or ecx, eax
fld dword [ebp - 0x4c]
fnstcw word [ebp - 0x356]
movzx eax, word [ebp - 0x356]
or eax, 0xc00
mov dword [ebp - 0x35c], eax
fldcw word [ebp - 0x35c]
fistp qword [ebp - 0x364]
fldcw word [ebp - 0x356]
mov edx, dword [ebp - 0x364]
or ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x178], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov dword [edx + 0x194], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x40]
mov dword [ecx + 0x1b0], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x1cc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x40
je 0x40dcc4
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x36c], edx
mov dword [ebp - 0x368], 0
fild qword [ebp - 0x36c]
fstp qword [ebp - 0x374]
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], 0
fild qword [ebp - 0x37c]
fsubr qword [ebp - 0x374]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x74]
sub edx, dword [ecx + 0x70]
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x380], 0
fild qword [ebp - 0x384]
fdivp st(1)
fstp dword [ebp - 0x60]
fld dword [ebp - 0x60]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 5
jp 0x40da9a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x74]
sub edx, dword [ecx + 0x70]
mov dword [ebp - 0x78], edx
call dword [sym.imp.winmm.dll_timeGetTime]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x70]
add eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x388], 0
fild qword [ebp - 0x38c]
fstp qword [ebp - 0x394]
call dword [sym.imp.winmm.dll_timeGetTime]
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], 0
fild qword [ebp - 0x39c]
fsubr qword [ebp - 0x394]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx + 0x74]
sub eax, dword [edx + 0x70]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3a0], 0
fild qword [ebp - 0x3a4]
fdivp st(1)
fstp dword [ebp - 0x60]
lea ecx, [ebp - 0x70]
call fcn.00401060
fld dword [ebp - 0x60]
fcomp qword [0x4b6330]
fnstsw ax
test ah, 0x41
jne 0x40daed
fld dword [ebp - 0x60]
fsub qword [0x4b6330]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x74]
push ecx
fld dword [ebp - 0x74]
fstp dword [esp]
mov ecx, dword [ebp - 4]
add ecx, 0x2c
push ecx
mov edx, dword [ebp - 4]
add edx, 0x10c
push edx
lea eax, [ebp - 0x70]
push eax
call fcn.0040b420
add esp, 0x10
jmp 0x40dbb6
fld dword [ebp - 0x60]
fcomp qword [0x4b6190]
fnstsw ax
test ah, 0x41
jne 0x40db38
fld dword [ebp - 0x60]
fsub qword [0x4b6190]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x74]
push ecx
fld dword [ebp - 0x74]
fstp dword [esp]
mov ecx, dword [ebp - 4]
add ecx, 0x10c
push ecx
mov edx, dword [ebp - 4]
add edx, 0x11c
push edx
lea eax, [ebp - 0x70]
push eax
call fcn.0040b420
add esp, 0x10
jmp 0x40dbb6
fld dword [ebp - 0x60]
fcomp qword [0x4b6328]
fnstsw ax
test ah, 0x41
jne 0x40db83
fld dword [ebp - 0x60]
fsub qword [0x4b6328]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x74]
push ecx
fld dword [ebp - 0x74]
fstp dword [esp]
mov ecx, dword [ebp - 4]
add ecx, 0x11c
push ecx
mov edx, dword [ebp - 4]
add edx, 0x12c
push edx
lea eax, [ebp - 0x70]
push eax
call fcn.0040b420
add esp, 0x10
jmp 0x40dbb6
fld dword [ebp - 0x60]
fmul qword [0x4b62e8]
fstp dword [ebp - 0x74]
push ecx
fld dword [ebp - 0x74]
fstp dword [esp]
mov ecx, dword [ebp - 4]
add ecx, 0x12c
push ecx
mov edx, dword [ebp - 4]
add edx, 0x13c
push edx
lea eax, [ebp - 0x70]
push eax
call fcn.0040b420
add esp, 0x10
fld dword [ebp - 0x64]
fnstcw word [ebp - 0x3a6]
movzx eax, word [ebp - 0x3a6]
or eax, 0xc00
mov dword [ebp - 0x3ac], eax
fldcw word [ebp - 0x3ac]
fistp qword [ebp - 0x3b4]
fldcw word [ebp - 0x3a6]
mov ecx, dword [ebp - 0x3b4]
shl ecx, 0x18
fld dword [ebp - 0x70]
fnstcw word [ebp - 0x3b6]
movzx eax, word [ebp - 0x3b6]
or eax, 0xc00
mov dword [ebp - 0x3bc], eax
fldcw word [ebp - 0x3bc]
fistp qword [ebp - 0x3c4]
fldcw word [ebp - 0x3b6]
mov edx, dword [ebp - 0x3c4]
shl edx, 0x10
or ecx, edx
fld dword [ebp - 0x6c]
fnstcw word [ebp - 0x3c6]
movzx eax, word [ebp - 0x3c6]
or eax, 0xc00
mov dword [ebp - 0x3cc], eax
fldcw word [ebp - 0x3cc]
fistp qword [ebp - 0x3d4]
fldcw word [ebp - 0x3c6]
mov eax, dword [ebp - 0x3d4]
shl eax, 8
or ecx, eax
fld dword [ebp - 0x68]
fnstcw word [ebp - 0x3d6]
movzx eax, word [ebp - 0x3d6]
or eax, 0xc00
mov dword [ebp - 0x3dc], eax
fldcw word [ebp - 0x3dc]
fistp qword [ebp - 0x3e4]
fldcw word [ebp - 0x3d6]
mov edx, dword [ebp - 0x3e4]
or ecx, edx
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 0x178], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x5c]
mov dword [edx + 0x194], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + 0x1b0], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 0x1cc], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 8
je 0x40dcde
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 8
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x10000000
je 0x40de76
mov ecx, 0x1ce8830
call fcn.0040b490
mov eax, dword [ebp - 4]
fmul dword [eax + 0x8c]
mov ecx, dword [ebp - 4]
fadd dword [ecx + 0x24]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x24]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 2
je 0x40dd79
mov edx, dword [ebp - 4]
fld dword [edx + 0xe0]
mov eax, dword [ebp - 4]
fld dword [eax + 0x24]
fcompp
fnstsw ax
test ah, 1
jne 0x40dd77
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xe0]
fstp dword [ecx + 0x24]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 2
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x10000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
cmp dword [eax], 0x1964
jne 0x40dd77
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], 8
jmp 0x40ddf0
mov edx, dword [ebp - 4]
fld dword [edx + 0xe0]
mov eax, dword [ebp - 4]
fld dword [eax + 0x24]
fcompp
fnstsw ax
test ah, 0x41
jp 0x40ddf0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xe0]
fstp dword [ecx + 0x24]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 4
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x10000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x100
je 0x40ddd9
mov edx, dword [ebp - 4]
mov dword [edx + 8], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 8], 0
jne 0x40ddf0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xd], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], 0
mov eax, dword [ebp - 4]
fld dword [eax + 0x24]
fmul qword [0x4b6170]
fnstcw word [ebp - 0x3e6]
movzx eax, word [ebp - 0x3e6]
or eax, 0xc00
mov dword [ebp - 0x3ec], eax
fldcw word [ebp - 0x3ec]
fistp qword [ebp - 0x3f4]
fldcw word [ebp - 0x3e6]
mov ecx, dword [ebp - 0x3f4]
shl ecx, 0x18
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x178]
and eax, 0xffffff
or eax, dword [ebp - 0x80]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x7c]
mov dword [ecx + 0x178], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x7c]
mov dword [eax + 0x194], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x7c]
mov dword [edx + 0x1b0], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x7c]
mov dword [ecx + 0x1cc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x40000000
je 0x40e0e1
mov ecx, 0x1ce8830
call fcn.0040b490
fstp dword [ebp - 0x84]
mov edx, dword [ebp - 4]
fld dword [edx + 0x90]
fmul dword [ebp - 0x84]
mov eax, dword [ebp - 4]
fadd dword [eax + 0xc8]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0xc8]
mov edx, dword [ebp - 4]
fld dword [edx + 0x7c]
fadd dword [ebp - 0x84]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x7c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x1000
je 0x40df08
mov eax, dword [ebp - 4]
fld dword [eax + 0xc8]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xcc]
fcompp
fnstsw ax
test ah, 5
jp 0x40df06
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0xcc]
fstp dword [edx + 0xc8]
jmp 0x40df35
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xc8]
mov edx, dword [ebp - 4]
fld dword [edx + 0xcc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40df35
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xcc]
fstp dword [eax + 0xc8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], 0
fild qword [ebp - 0x3fc]
mov ecx, dword [ebp - 4]
fmul dword [ecx + 0xc8]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x168]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x184]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x400], 0
fild qword [ebp - 0x404]
mov eax, dword [ebp - 4]
fmul dword [eax + 0xc8]
mov ecx, dword [ebp - 4]
fadd dword [ecx + 0x168]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1a0]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x408], 0
fild qword [ebp - 0x40c]
mov edx, dword [ebp - 4]
fmul dword [edx + 0xc8]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x16c]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1c0]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], 0
fild qword [ebp - 0x414]
mov ecx, dword [ebp - 4]
fmul dword [ecx + 0xc8]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x16c]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1a4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x1000
je 0x40e081
mov eax, dword [ebp - 4]
fld dword [eax + 0xcc]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xc8]
fcompp
fnstsw ax
test ah, 1
jne 0x40e07f
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0xcc]
fstp dword [edx + 0x28]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xcc]
fstp dword [ecx + 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x1000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x40000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
jmp 0x40e0e1
mov eax, dword [ebp - 4]
fld dword [eax + 0xcc]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xc8]
fcompp
fnstsw ax
test ah, 0x41
jp 0x40e0e1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0xcc]
fstp dword [edx + 0x28]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0xcc]
fstp dword [ecx + 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x2000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x40000000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x100
je 0x40e29f
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x74]
cmp eax, dword [ebp - 8]
ja 0x40e11e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x20000000
jne 0x40e11e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x100
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
fld dword [0x4b6324]
fstp dword [ebp - 0xb8]
fld dword [0x4b6320]
fstp dword [ebp - 0xbc]
lea ecx, [ebp - 0xb4]
call fcn.00401060
lea ecx, [ebp - 0xa4]
call fcn.00401060
lea ecx, [ebp - 0x94]
call fcn.00401060
mov dword [ebp - 0xc0], 0
jmp 0x40e172
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 4
jae 0x40e29f
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov ecx, dword [ebp - 0xc0]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 4]
fld dword [edx + ecx + 0x16c]
fsub dword [ebp - 0xbc]
fstp dword [ebp - 0x418]
fld dword [ebp - 0x418]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0xc0]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 4]
fld dword [ecx + eax + 0x168]
fsub dword [ebp - 0xb8]
fstp dword [ebp - 0x41c]
fld dword [ebp - 0x41c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1f8]
call fcn.00401000
mov edx, dword [eax]
mov dword [ebp - 0x94], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x90], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x8c], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x94]
fmul qword [0x4b6318]
fstp dword [ebp - 0x420]
fld dword [ebp - 0x420]
push ecx
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
lea edx, [ebp - 0xa4]
push edx
call sub.D3DX9_42.dll_D3DXQuaternionRotationYawPitchRoll
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x94]
push ecx
lea edx, [ebp - 0xb4]
push edx
call sub.D3DX9_42.dll_D3DXQuaternionMultiply
fld dword [ebp - 0xb4]
fadd dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 4]
fstp dword [ecx + eax + 0x168]
fld dword [ebp - 0xb0]
fadd dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
imul edx, edx, 0x1c
mov eax, dword [ebp - 4]
fstp dword [eax + edx + 0x16c]
jmp 0x40e163
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x400
je 0x40e3e9
mov eax, dword [ebp - 4]
fld dword [eax + 0x98]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x9c]
fcompp
fnstsw ax
test ah, 1
jne 0x40e2fd
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000000
jne 0x40e2fd
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x400
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0x98]
fstp dword [ecx + 0x9c]
mov dword [ebp - 0xc8], 0
jmp 0x40e318
mov eax, dword [ebp - 0xc8]
add eax, 1
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 4
jae 0x40e3b8
mov ecx, dword [ebp - 4]
push ecx
fld dword [ecx + 0x9c]
fstp dword [esp]
call fcn.00409440
add esp, 4
fmul qword [0x4b6228]
mov edx, dword [ebp - 4]
fadd dword [edx + 0xc0]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 4]
fadd dword [ecx + eax*4 + 0xa0]
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x1c
mov eax, dword [ebp - 4]
fstp dword [eax + edx + 0x168]
mov ecx, dword [ebp - 4]
push ecx
fld dword [ecx + 0x9c]
fstp dword [esp]
call fcn.00409480
add esp, 4
fmul qword [0x4b6228]
mov edx, dword [ebp - 4]
fadd dword [edx + 0xc4]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 4]
fadd dword [ecx + eax*4 + 0xb0]
mov edx, dword [ebp - 0xc8]
imul edx, edx, 0x1c
mov eax, dword [ebp - 4]
fstp dword [eax + edx + 0x16c]
jmp 0x40e309
mov ecx, 0x1ce8830
call fcn.0040b490
fstp dword [ebp - 0xc4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x94]
fmul dword [ebp - 0xc4]
mov edx, dword [ebp - 4]
fadd dword [edx + 0x9c]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x9c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x200
je 0x40e5ec
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
cmp ecx, dword [ebp - 8]
ja 0x40e425
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000000
jne 0x40e425
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x200
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x424], 0
fild qword [ebp - 0x428]
fmul qword [0x4b6190]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x1c]
fstp dword [ebp - 0xfc]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x42c], 0
fild qword [ebp - 0x430]
fmul qword [0x4b6190]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x20]
fstp dword [ebp - 0x100]
lea ecx, [ebp - 0xf8]
call fcn.00401060
lea ecx, [ebp - 0xe8]
call fcn.00401060
lea ecx, [ebp - 0xd8]
call fcn.00401060
mov dword [ebp - 0x104], 0
jmp 0x40e4bd
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0x104], 4
jae 0x40e5ec
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov edx, dword [ebp - 0x104]
imul edx, edx, 0x1c
mov eax, dword [ebp - 4]
fld dword [eax + edx + 0x16c]
fsub dword [ebp - 0x100]
fstp dword [ebp - 0x434]
fld dword [ebp - 0x434]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x104]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 4]
fld dword [edx + ecx + 0x168]
fsub dword [ebp - 0xfc]
fstp dword [ebp - 0x438]
fld dword [ebp - 0x438]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x208]
call fcn.00401000
mov ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xd4], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd0], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 4]
fld dword [eax + 0x94]
fchs
fmul qword [0x4b6318]
fstp dword [ebp - 0x43c]
fld dword [ebp - 0x43c]
push ecx
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
lea ecx, [ebp - 0xe8]
push ecx
call sub.D3DX9_42.dll_D3DXQuaternionRotationYawPitchRoll
lea edx, [ebp - 0xe8]
push edx
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xf8]
push ecx
call sub.D3DX9_42.dll_D3DXQuaternionMultiply
fld dword [ebp - 0xf8]
fadd dword [ebp - 0xfc]
mov edx, dword [ebp - 0x104]
imul edx, edx, 0x1c
mov eax, dword [ebp - 4]
fstp dword [eax + edx + 0x168]
fld dword [ebp - 0xf4]
fadd dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
imul ecx, ecx, 0x1c
mov edx, dword [ebp - 4]
fstp dword [edx + ecx + 0x16c]
jmp 0x40e4ae
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x80000000
je 0x40eb98
mov ecx, 0x1ce8830
call fcn.0040b490
fstp dword [ebp - 0x108]
mov edx, dword [ebp - 4]
fld dword [edx + 0x104]
fadd dword [ebp - 0x108]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x104]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x104]
mov edx, dword [ebp - 4]
fld dword [edx + 0x108]
fcompp
fnstsw ax
test ah, 5
jp 0x40e855
mov eax, dword [ebp - 4]
cmp dword [eax + 0x100], 0
jne 0x40e855
fld dword [0x4b6224]
fstp dword [ebp - 0x110]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xec]
fadd dword [ebp - 0x110]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x168]
mov eax, dword [ebp - 4]
fld dword [eax + 0xec]
fadd dword [ebp - 0x110]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x440], 0
fild qword [ebp - 0x444]
mov eax, dword [ebp - 4]
fmul dword [eax + 0x28]
faddp st(1)
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x184]
mov edx, dword [ebp - 4]
fld dword [edx + 0xec]
fadd dword [ebp - 0x110]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x448], 0
fild qword [ebp - 0x44c]
mov edx, dword [ebp - 4]
fmul dword [edx + 0x28]
faddp st(1)
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1a0]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xec]
fadd dword [ebp - 0x110]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1bc]
fld dword [0x4b6224]
fstp dword [ebp - 0x10c]
mov eax, dword [ebp - 4]
fld dword [eax + 0xf0]
fadd dword [ebp - 0x10c]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x16c]
mov edx, dword [ebp - 4]
fld dword [edx + 0xf0]
fadd dword [ebp - 0x10c]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x188]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xf0]
fadd dword [ebp - 0x10c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], 0
fild qword [ebp - 0x454]
mov ecx, dword [ebp - 4]
fmul dword [ecx + 0x28]
faddp st(1)
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1a4]
mov eax, dword [ebp - 4]
fld dword [eax + 0xf0]
fadd dword [ebp - 0x10c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x458], 0
fild qword [ebp - 0x45c]
mov eax, dword [ebp - 4]
fmul dword [eax + 0x28]
faddp st(1)
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1c0]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
sub eax, 0x80000000
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x10000
je 0x40e7ed
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x10000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x20000
je 0x40e80d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
sub ecx, 0x20000
mov edx, dword [ebp - 4]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 4]
fldz
fstp dword [eax + 0x108]
mov ecx, 0x27d8468
call fcn.00401280
mov dword [ebp - 0x114], eax
xor ecx, ecx
mov edx, dword [ebp - 0x114]
add edx, 0x30de0
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], ecx
jmp 0x40eb98
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf8], 0
jne 0x40e86d
mov dword [ebp - 0x460], 1
jmp 0x40e87c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xf8]
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 4]
fld dword [eax + 0x104]
call fcn.004857c0
cdq
idiv dword [ebp - 0x460]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x10000
je 0x40ea35
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [eax + 0xf4]
jl 0x40ea35
mov edx, dword [ebp - 4]
cmp dword [edx + 0xfc], 0
je 0x40e916
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.00484392
add esp, 4
mov dword [ebp - 0x120], 0
jmp 0x40e901
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0x11c]
jge 0x40e916
call fcn.004843a4
jmp 0x40e8f2
mov dword [ebp - 0x118], 1
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xe4]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jnp 0x40ea35
call fcn.004843a4
mov esi, eax
mov edx, dword [ebp - 4]
fld dword [edx + 0xe4]
call fcn.004857c0
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x464], edx
fild dword [ebp - 0x464]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
fld dword [edx + 0xe4]
call fcn.004857c0
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x468], eax
fisub dword [ebp - 0x468]
fstp dword [ebp - 0x124]
mov eax, dword [ebp - 4]
fld dword [eax + 0xec]
fadd dword [ebp - 0x124]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x168]
mov edx, dword [ebp - 4]
fld dword [edx + 0xec]
fadd dword [ebp - 0x124]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x46c], 0
fild qword [ebp - 0x470]
mov edx, dword [ebp - 4]
fmul dword [edx + 0x28]
faddp st(1)
mov eax, dword [ebp - 4]
fstp dword [eax + 0x184]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xec]
fadd dword [ebp - 0x124]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], 0
fild qword [ebp - 0x478]
mov ecx, dword [ebp - 4]
fmul dword [ecx + 0x28]
faddp st(1)
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1a0]
mov eax, dword [ebp - 4]
fld dword [eax + 0xec]
fadd dword [ebp - 0x124]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1bc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000
je 0x40eb7a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x11c]
cmp edx, dword [ecx + 0xf4]
jl 0x40eb7a
mov dword [ebp - 0x118], 1
mov eax, dword [ebp - 4]
fld dword [eax + 0xe8]
fcomp qword [0x4ab4e8]
fnstsw ax
test ah, 0x44
jnp 0x40eb7a
call fcn.004843a4
mov esi, eax
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xe8]
call fcn.004857c0
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x47c], edx
fild dword [ebp - 0x47c]
fsub qword [0x4b6190]
mov edx, dword [ebp - 4]
fld dword [edx + 0xe8]
call fcn.004857c0
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x480], eax
fisub dword [ebp - 0x480]
fstp dword [ebp - 0x128]
mov eax, dword [ebp - 4]
fld dword [eax + 0xf0]
fadd dword [ebp - 0x128]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x16c]
mov edx, dword [ebp - 4]
fld dword [edx + 0xf0]
fadd dword [ebp - 0x128]
mov eax, dword [ebp - 4]
fstp dword [eax + 0x188]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xf0]
fadd dword [ebp - 0x128]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], 0
fild qword [ebp - 0x488]
mov ecx, dword [ebp - 4]
fmul dword [ecx + 0x28]
faddp st(1)
mov edx, dword [ebp - 4]
fstp dword [edx + 0x1a4]
mov eax, dword [ebp - 4]
fld dword [eax + 0xf0]
fadd dword [ebp - 0x128]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x490], edx
mov dword [ebp - 0x48c], 0
fild qword [ebp - 0x490]
mov eax, dword [ebp - 4]
fmul dword [eax + 0x28]
faddp st(1)
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1c0]
cmp dword [ebp - 0x118], 1
jne 0x40eb98
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xf4]
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xf4], eax
pop esi
mov esp, ebp
pop ebp
ret 4