Function at 0x40ba30
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 0x40bab4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
cmp eax, dword [edx + 0x78]
jae 0x40ba7d
jmp 0x40e0b8
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 0x40c136
mov ecx, 0x1ce7ba0
call fcn.0040a9c0
call fcn.004856e0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x40c136
mov eax, dword [ebp - 4]
fld dword [eax + 0xd8]
mov ecx, dword [ebp - 4]
fsub dword [ecx + 0x168]
fmul qword [0x4b61c0]
fstp dword [ebp - 0x14]
mov edx, dword [ebp - 4]
fld dword [edx + 0x14c]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bb29
mov eax, dword [ebp - 4]
fld dword [eax + 0x150]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x41
je 0x40bb5d
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x14c]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x41
jne 0x40bbe9
mov edx, dword [ebp - 4]
fld dword [edx + 0x150]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bbe9
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 [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bbb7
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 0x40bbb5
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0x154]
fstp dword [edx + 0x150]
jmp 0x40bbe4
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 0x40bbe4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x154]
fstp dword [eax + 0x150]
jmp 0x40bc70
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 [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bc43
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 0x40bc41
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0x154]
fstp dword [ecx + 0x150]
jmp 0x40bc70
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 0x40bc70
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.0040a670
add esp, 4
mov eax, dword [ebp - 4]
push ecx
fld dword [eax + 0x150]
fstp dword [esp]
fstp qword [ebp - 0x218]
call fcn.0040a670
add esp, 4
fcomp qword [ebp - 0x218]
fnstsw ax
test ah, 0x41
jne 0x40bd8c
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b5fe8]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x168]
mov eax, dword [ebp - 4]
fld dword [eax + 0xd8]
fsub qword [0x4b5fe8]
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1bc]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b5fe8]
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 [0x4b5fe8]
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 0x40bdec
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 [0x4b61c0]
fstp dword [ebp - 0x10]
mov edx, dword [ebp - 4]
fld dword [edx + 0x158]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40be33
mov eax, dword [ebp - 4]
fld dword [eax + 0x15c]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x41
je 0x40be67
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x158]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x41
jne 0x40bef3
mov edx, dword [ebp - 4]
fld dword [edx + 0x15c]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bef3
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 [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bec1
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 0x40bebf
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0x160]
fstp dword [edx + 0x15c]
jmp 0x40beee
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 0x40beee
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x160]
fstp dword [eax + 0x15c]
jmp 0x40bf7a
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 [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40bf4d
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 0x40bf4b
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
fld dword [edx + 0x160]
fstp dword [ecx + 0x15c]
jmp 0x40bf7a
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 0x40bf7a
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.0040a670
add esp, 4
mov eax, dword [ebp - 4]
push ecx
fld dword [eax + 0x15c]
fstp dword [esp]
fstp qword [ebp - 0x234]
call fcn.0040a670
add esp, 4
fcomp qword [ebp - 0x234]
fnstsw ax
test ah, 0x41
jne 0x40c096
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b5fe8]
mov edx, dword [ebp - 4]
fstp dword [edx + 0x16c]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fsub qword [0x4b5fe8]
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 [0x4b5fe8]
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 [0x4b5fe8]
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 0x40c0f6
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 0x40c128
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x165]
cmp eax, 1
jne 0x40c128
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
sub edx, 0x2000000
mov eax, dword [ebp - 4]
mov dword [eax + 8], edx
jmp 0x40c136
mov ecx, dword [ebp - 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x40bad8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 1
je 0x40cbba
mov ecx, 0x1ce7ba0
call fcn.0040a9c0
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 [0x4b5fb0]
fnstsw ax
test ah, 0x44
jnp 0x40c4c4
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 0x40c4bf
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x248]
fld dword [ebp - 0x248]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x24c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x138]
call fcn.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
fstp dword [ebp - 0x25c]
fld dword [ebp - 0x25c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x148]
call fcn.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
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.0040a690
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 [0x4b5fe8]
fstp dword [ebp - 0x278]
fld dword [ebp - 0x278]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b5fe8]
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.0040a690
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 0x40cbba
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 0x40c506
mov ecx, dword [ebp - 4]
fld dword [ecx + 0x168]
fstp dword [ebp - 0x38]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x3c]
jmp 0x40c548
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 0x40c53e
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x38]
mov eax, dword [ebp - 4]
fld dword [eax + 0x168]
fstp dword [ebp - 0x3c]
jmp 0x40c548
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 0x40c58a
mov eax, dword [ebp - 4]
fld dword [eax + 0x16c]
fstp dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x30]
jmp 0x40c5cc
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 0x40c5c2
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xdc]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
fld dword [edx + 0x16c]
fstp dword [ebp - 0x30]
jmp 0x40c5cc
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 [0x4b5fb0]
fnstsw ax
test ah, 0x44
jnp 0x40c5f3
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 0x40c661
fld dword [ebp - 0x2c]
fld dword [ebp - 0x30]
fcompp
fnstsw ax
test ah, 5
jnp 0x40c661
fld dword [ebp - 0x38]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x44
jp 0x40cbba
fld dword [ebp - 0x3c]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x44
jp 0x40cbba
fld dword [ebp - 0x2c]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x44
jp 0x40cbba
fld dword [ebp - 0x30]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x44
jp 0x40cbba
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x4000000
je 0x40c939
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 [0x4b5fe8]
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 [0x4b5fe8]
fstp dword [ebp - 0x28c]
fld dword [ebp - 0x28c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x178]
call fcn.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x29c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x188]
call fcn.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
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.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
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.0040a690
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 0x40cbba
push ecx
fld1
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
mov eax, dword [ebp - 4]
fld dword [eax + 0xdc]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c8]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xd8]
fsub qword [0x4b5fe8]
fstp dword [ebp - 0x2cc]
fld dword [ebp - 0x2cc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1b8]
call fcn.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
fstp dword [ebp - 0x2dc]
fld dword [ebp - 0x2dc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x1c8]
call fcn.0040a690
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 [0x4b5fe8]
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 [0x4b5fe8]
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.0040a690
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 [0x4b5fe8]
fstp dword [ebp - 0x2f8]
fld dword [ebp - 0x2f8]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
fld dword [edx + 0xd8]
fsub qword [0x4b5fe8]
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.0040a690
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 0x40ce97
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 [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40cc58
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.0040a690
fld dword [ebp - 0x44]
fcomp qword [0x4b61b8]
fnstsw ax
test ah, 0x41
jne 0x40ccc3
fld dword [ebp - 0x44]
fsub qword [0x4b61b8]
fmul qword [0x4b6170]
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.0040a950
add esp, 0x10
jmp 0x40cd89
fld dword [ebp - 0x44]
fcomp qword [0x4b5fe8]
fnstsw ax
test ah, 0x41
jne 0x40cd0d
fld dword [ebp - 0x44]
fsub qword [0x4b5fe8]
fmul qword [0x4b6170]
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.0040a950
add esp, 0x10
jmp 0x40cd89
fld dword [ebp - 0x44]
fcomp qword [0x4b61b0]
fnstsw ax
test ah, 0x41
jne 0x40cd57
fld dword [ebp - 0x44]
fsub qword [0x4b61b0]
fmul qword [0x4b6170]
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.0040a950
add esp, 0x10
jmp 0x40cd89
fld dword [ebp - 0x44]
fmul qword [0x4b6170]
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.0040a950
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 0x40d1e4
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 [0x4b5fb0]
fnstsw ax
test ah, 5
jp 0x40cfba
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.00436d00
fld dword [ebp - 0x60]
fcomp qword [0x4b61b8]
fnstsw ax
test ah, 0x41
jne 0x40d00d
fld dword [ebp - 0x60]
fsub qword [0x4b61b8]
fmul qword [0x4b6170]
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.0040a950
add esp, 0x10
jmp 0x40d0d6
fld dword [ebp - 0x60]
fcomp qword [0x4b5fe8]
fnstsw ax
test ah, 0x41
jne 0x40d058
fld dword [ebp - 0x60]
fsub qword [0x4b5fe8]
fmul qword [0x4b6170]
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.0040a950
add esp, 0x10
jmp 0x40d0d6
fld dword [ebp - 0x60]
fcomp qword [0x4b61b0]
fnstsw ax
test ah, 0x41
jne 0x40d0a3
fld dword [ebp - 0x60]
fsub qword [0x4b61b0]
fmul qword [0x4b6170]
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.0040a950
add esp, 0x10
jmp 0x40d0d6
fld dword [ebp - 0x60]
fmul qword [0x4b6170]
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.0040a950
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 0x40d1fe
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 0x40d396
mov ecx, 0x1ce7ba0
call fcn.0040a9c0
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 0x40d299
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 0x40d297
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 0x40d297
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], 8
jmp 0x40d310
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 0x40d310
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 0x40d2f9
mov edx, dword [ebp - 4]
mov dword [edx + 8], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 8], 0
jne 0x40d310
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 [0x4b5fc8]
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 0x40d601
mov ecx, 0x1ce7ba0
call fcn.0040a9c0
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 0x40d428
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 0x40d426
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
fld dword [eax + 0xcc]
fstp dword [edx + 0xc8]
jmp 0x40d455
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 0x40d455
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 0x40d5a1
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 0x40d59f
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 0x40d601
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 0x40d601
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 0x40d7bf
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x74]
cmp eax, dword [ebp - 8]
ja 0x40d63e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x20000000
jne 0x40d63e
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 [0x4b61ac]
fstp dword [ebp - 0xb8]
fld dword [0x4b61a8]
fstp dword [ebp - 0xbc]
lea ecx, [ebp - 0xb4]
call fcn.00436d00
lea ecx, [ebp - 0xa4]
call fcn.00436d00
lea ecx, [ebp - 0x94]
call fcn.00436d00
mov dword [ebp - 0xc0], 0
jmp 0x40d692
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 4
jae 0x40d7bf
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.0040a690
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 [0x4b61a0]
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 0x40d683
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0x400
je 0x40d909
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 0x40d81d
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000000
jne 0x40d81d
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 0x40d838
mov eax, dword [ebp - 0xc8]
add eax, 1
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 4
jae 0x40d8d8
mov ecx, dword [ebp - 4]
push ecx
fld dword [ecx + 0x9c]
fstp dword [esp]
call fcn.00408920
add esp, 4
fmul qword [0x4b6090]
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.00408960
add esp, 4
fmul qword [0x4b6090]
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 0x40d829
mov ecx, 0x1ce7ba0
call fcn.0040a9c0
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 0x40db0c
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x74]
cmp ecx, dword [ebp - 8]
ja 0x40d945
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
and eax, 0x20000000
jne 0x40d945
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 [0x4b5fe8]
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 [0x4b5fe8]
mov eax, dword [ebp - 4]
fadd dword [eax + 0x20]
fstp dword [ebp - 0x100]
lea ecx, [ebp - 0xf8]
call fcn.00436d00
lea ecx, [ebp - 0xe8]
call fcn.00436d00
lea ecx, [ebp - 0xd8]
call fcn.00436d00
mov dword [ebp - 0x104], 0
jmp 0x40d9dd
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0x104], 4
jae 0x40db0c
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.0040a690
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 [0x4b61a0]
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 0x40d9ce
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 0x80000000
je 0x40e0b8
mov ecx, 0x1ce7ba0
call fcn.0040a9c0
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 0x40dd75
mov eax, dword [ebp - 4]
cmp dword [eax + 0x100], 0
jne 0x40dd75
fld dword [0x4b608c]
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 [0x4b608c]
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 0x40dd0d
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 0x40dd2d
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, 0x27d77d8
call fcn.00401230
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 0x40e0b8
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf8], 0
jne 0x40dd8d
mov dword [ebp - 0x460], 1
jmp 0x40dd9c
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.004856e0
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 0x40df55
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [eax + 0xf4]
jl 0x40df55
mov edx, dword [ebp - 4]
cmp dword [edx + 0xfc], 0
je 0x40de36
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xfc]
push ecx
call fcn.004842b4
add esp, 4
mov dword [ebp - 0x120], 0
jmp 0x40de21
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0x11c]
jge 0x40de36
call fcn.004842c6
jmp 0x40de12
mov dword [ebp - 0x118], 1
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xe4]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x44
jnp 0x40df55
call fcn.004842c6
mov esi, eax
mov edx, dword [ebp - 4]
fld dword [edx + 0xe4]
call fcn.004856e0
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x464], edx
fild dword [ebp - 0x464]
fsub qword [0x4b5fe8]
mov edx, dword [ebp - 4]
fld dword [edx + 0xe4]
call fcn.004856e0
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 0x40e09a
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x11c]
cmp edx, dword [ecx + 0xf4]
jl 0x40e09a
mov dword [ebp - 0x118], 1
mov eax, dword [ebp - 4]
fld dword [eax + 0xe8]
fcomp qword [0x4b5fb0]
fnstsw ax
test ah, 0x44
jnp 0x40e09a
call fcn.004842c6
mov esi, eax
mov ecx, dword [ebp - 4]
fld dword [ecx + 0xe8]
call fcn.004856e0
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [ebp - 0x47c], edx
fild dword [ebp - 0x47c]
fsub qword [0x4b5fe8]
mov edx, dword [ebp - 4]
fld dword [edx + 0xe8]
call fcn.004856e0
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 0x40e0b8
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