Function at 0x4012b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x31c8
call fcn.0040b6f0
mov eax, dword [ebp + 8]
push ebx
push esi
xor esi, esi
cmp eax, 5
push edi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa4], esi
mov dword [esp + 0x148], esi
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0x18c], esi
mov dword [esp + 0x190], 0x40590000
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0x16c], esi
mov dword [esp + 0x170], 0x3ff00000
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x38], 0x419050
mov dword [esp + 0x108], esi
mov dword [esp + 0x164], esi
mov dword [esp + 0x168], esi
mov dword [esp + 0x19c], esi
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x188], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x198], 0x3ff00000
mov dword [0x41eee0], esi
jge 0x40142f
push 0x419054
call fcn.0040b6b5
push 0x419074
call fcn.0040b6b5
push 0x41909c
call fcn.0040b6b5
push 0x4190ac
call fcn.0040b6b5
push 0x4190f4
call fcn.0040b6b5
push 0x419168
call fcn.0040b6b5
push 0x419170
call fcn.0040b6b5
push 0x41918c
call fcn.0040b6b5
push 0x4191b4
call fcn.0040b6b5
push 0x4191d8
call fcn.0040b6b5
push 0x419210
call fcn.0040b6b5
add esp, 0x2c
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0xc]
cmp eax, 6
jl 0x40143e
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x38], eax
mov edi, dword [ebx + 4]
or ecx, 0xffffffff
xor eax, eax
push 0x419248
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x54], ecx
call fcn.0040b638
mov edi, eax
add esp, 4
cmp edi, esi
jne 0x40146b
call fcn.00408d90
test eax, eax
je 0x4014a7
lea ecx, [esp + 0xb4]
lea edx, [esp + 0x148]
push ecx
mov ecx, dword [ebx + 4]
lea eax, [esp + 0xa8]
push edx
push eax
push 0x41c9a0
push 0x4206e0
push 0xc00
push ecx
push edi
call fcn.00408a40
add esp, 0x20
cmp eax, esi
mov dword [esp + 0x6c], eax
jne 0x40150b
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x50]
push 5
push 0x419254
lea ecx, [edx + eax - 5]
push ecx
call fcn.0040b600
add esp, 0xc
test eax, eax
push 0x41c9a0
push 0xc00
push 0x4206e0
jne 0x4014e0
mov edx, dword [ebx + 4]
push edx
call fcn.004080f0
jmp 0x4014e9
mov eax, dword [ebx + 4]
push eax
call fcn.00408430
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x6c], eax
jne 0x40150b
push 0x41925c
call fcn.0040b590
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [0x4206f6], 0x10
je 0x40152c
push 0x419270
call fcn.0040b590
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x4206ec]
mov eax, dword [0x41c9a0]
mov dword [0x419040], ecx
mov ecx, dword [0x4206f4]
cdq
and ecx, 0xffff
push 0x419294
idiv ecx
mov dword [esp + 0x44], eax
call fcn.0040b638
add esp, 4
cmp eax, esi
je 0x401599
lea edx, [esp + 0xc]
mov dword [esp + 0xc], 0
push edx
push 0x41929c
push eax
mov dword [esp + 0x1c], 0x407b8000
call fcn.0040b55c
fld qword [esp + 0x18]
fmul qword [0x418298]
add esp, 4
fstp qword [esp]
call fcn.00405980
add esp, 8
mov eax, dword [esp + 0xa4]
mov ecx, 0x3fe
mov esi, 0x41f6e0
mov edi, 0x41f6e8
mov dword [0x41f6e0], 0
mov dword [0x41f6e4], 0x3ff00000
test eax, eax
rep movsd dword es:[edi], dword [esi]
je 0x4015dc
mov eax, dword [esp + 0x38]
push 0x47
push eax
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x40162b
mov edx, dword [0x4206ec]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x6c]
xor ecx, ecx
mov cx, word [0x4206ea]
push 0x100
push 0x400
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [ebx + 4]
push esi
push eax
push ecx
lea eax, [esp + 0xd0]
push edx
lea ecx, [esp + 0x168]
push eax
push ecx
call fcn.004090b0
add esp, 0x28
mov dword [esp + 0xa4], eax
jmp 0x40162f
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x401651
mov edx, dword [esp + 0x6c]
push edx
call fcn.0040b422
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild dword [0x419040]
fidiv dword [0x419044]
fst qword [esp + 0x74]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x40
jne 0x401685
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
push eax
push ecx
push 0x4192a0
call fcn.0040b6b5
add esp, 0xc
mov edx, dword [esp + 0x38]
push 0x61
push edx
mov dword [0x419048], 0
mov dword [0x41904c], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x4016e3
push 0x419048
inc eax
push 0x4192ac
push eax
call fcn.0040b55c
fld qword [0x418288]
fld qword [0x419048]
fmul qword [0x418280]
add esp, 0xc
fsub qword [0x418158]
call fcn.0040b720
fstp qword [0x419048]
mov edi, dword [ebp + 8]
cmp edi, 9
jl 0x40175d
mov ecx, dword [ebx + 0x20]
lea eax, [esp + 0xc]
push eax
push 0x4192b0
push ecx
call fcn.0040b55c
mov edx, dword [0x4206ec]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], edx
add esp, 0xc
fild qword [esp + 0x7c]
fmul qword [esp + 0xc]
fmul qword [0x418278]
fst qword [esp + 0xc]
fcomp qword [0x418270]
fnstsw ax
test ah, 1
jne 0x40175d
fld qword [esp + 0xc]
fdiv qword [esp + 0x74]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
fstp qword [esp + 0x164]
cmp edi, 0xa
jl 0x4018b7
mov eax, dword [ebx + 0x18]
lea edx, [esp + 0x1a4]
push edx
push 0x4192b4
push eax
call fcn.0040b55c
mov ecx, dword [0x4206ec]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], ecx
fild qword [esp + 0x88]
fmul qword [esp + 0x1b0]
fmul qword [0x418278]
fadd qword [0x418158]
call fcn.0040b0c0
lea edx, [esp + 0x18]
mov edi, eax
mov eax, dword [ebx + 0x24]
push edx
push 0x4192b8
push eax
mov dword [esp + 0xf8], edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call fcn.0040b55c
mov ecx, dword [0x4206ec]
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], ecx
add esp, 0x18
fild qword [esp + 0x7c]
fmul qword [esp + 0xc]
fmul qword [0x418278]
fst qword [esp + 0xc]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
je 0x401854
fild dword [esp + 0xe0]
fsub qword [esp + 0xc]
fild dword [esp + 0x40]
fld st(1)
fcompp
fnstsw ax
test ah, 1
je 0x401840
call fcn.0040b0c0
mov esi, eax
mov dword [esp + 0x40], esi
jmp 0x401842
fstp st(0)
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
jmp 0x401878
fild dword [esp + 0x40]
fld qword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x401876
fsub qword [esp + 0xc]
call fcn.0040b0c0
mov esi, eax
mov dword [esp + 0x40], esi
jmp 0x401878
fstp st(0)
cmp esi, edi
jg 0x4018b7
mov edx, dword [esp + 0x6c]
push edx
call fcn.0040b422
mov eax, dword [esp + 0xa8]
push eax
call fcn.0040b422
mov ecx, dword [esp + 0x150]
push ecx
call fcn.0040b422
push 0x4192bc
call fcn.0040b6b5
add esp, 0x10
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 8], 0xb
jl 0x4018ea
mov eax, dword [ebx + 0x28]
lea edx, [esp + 0x16c]
push edx
push 0x4192e8
push eax
call fcn.0040b55c
fld qword [esp + 0x178]
fmul qword [0x418280]
add esp, 0xc
fstp qword [esp + 0x16c]
cmp dword [ebp + 8], 0xc
jl 0x401909
mov edx, dword [ebx + 0x2c]
lea ecx, [esp + 0x18c]
push ecx
push 0x4192ec
push edx
call fcn.0040b55c
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push eax
push ecx
push 0x4192f0
call fcn.0040b6b5
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
push edx
push eax
push 0x419308
call fcn.0040b6b5
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1a4]
push ecx
push edx
push 0x419320
call fcn.0040b6b5
mov ecx, dword [ebx + 0x10]
lea eax, [esp + 0x78]
push eax
push 0x41933c
push ecx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x3ff00000
call fcn.0040b55c
mov eax, dword [ebp + 8]
add esp, 0x30
cmp eax, 8
jl 0x401af4
mov eax, dword [ebx + 0x18]
lea edx, [esp + 0x1a4]
push edx
push 0x419340
push eax
call fcn.0040b55c
mov edx, dword [ebx + 0x1c]
lea ecx, [esp + 0x1b8]
push ecx
push 0x419344
push edx
call fcn.0040b55c
mov eax, dword [0x4206ec]
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], eax
add esp, 0x18
fild qword [esp + 0x7c]
fmul qword [esp + 0x1a4]
fmul qword [0x418278]
fadd qword [0x418158]
call fcn.0040b0c0
fld qword [esp + 0x1ac]
fcomp qword [0x418290]
mov dword [esp + 0xe0], eax
sub esi, eax
mov dword [esp + 0x40], esi
fnstsw ax
test ah, 0x41
jne 0x401af4
fld qword [0x419048]
fcomp qword [0x418158]
fnstsw ax
test ah, 0x40
je 0x401a44
fld qword [0x418288]
fld qword [esp + 0x54]
fmul qword [0x418280]
fsub qword [0x418158]
call fcn.0040b720
fstp qword [0x419048]
fld qword [esp + 0x1ac]
fadd qword [0x418158]
fimul dword [0x419044]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x40590000
fmul qword [0x418278]
fstp qword [esp + 0xc]
fld qword [esp + 0x164]
fdiv qword [0x419048]
fld qword [esp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x401aae
fstp st(0)
fld qword [0x419048]
fmul qword [esp + 0xc]
fmul qword [esp + 0x74]
fadd qword [0x418268]
call fcn.0040b0c0
mov esi, eax
mov dword [esp + 0x40], esi
jmp 0x401b2d
fsubr qword [esp + 0xc]
fmul qword [esp + 0x74]
fild dword [esp + 0x40]
fsub qword [esp + 0xf4]
fld st(1)
fcomp st(1)
fnstsw ax
test ah, 1
je 0x401ae2
fstp st(0)
fadd qword [esp + 0xf4]
call fcn.0040b0c0
mov esi, eax
mov dword [esp + 0x40], esi
jmp 0x401b2d
fxch st(1)
fdiv st(1)
fmul qword [0x418260]
fstp qword [esp + 0x54]
fstp st(0)
jmp 0x401b2d
fld qword [0x418288]
fld qword [esp + 0x54]
fmul qword [0x418280]
mov dword [0x419048], 0
mov dword [0x41904c], 0x3ff00000
fsubr qword [0x418158]
call fcn.0040b720
fmul qword [0x418260]
fstp qword [esp + 0x54]
mov ecx, dword [esp + 0x38]
push 0x74
push ecx
mov dword [esp + 0xd8], 0
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x401b62
lea edx, [esp + 0xd0]
inc eax
push edx
push 0x419348
push eax
call fcn.0040b55c
add esp, 0xc
mov eax, dword [esp + 0xd0]
mov ecx, dword [ebx + 0xc]
push eax
push ecx
call fcn.00405a80
fst qword [esp + 0xdc]
fcomp qword [0x418290]
add esp, 8
fnstsw ax
test ah, 0x40
jne 0x401bd4
fld qword [esp + 0xd4]
fdiv qword [esp + 0xb4]
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xb8]
push edx
mov edx, dword [esp + 0xb8]
push eax
push ecx
push edx
push 0x41934c
fmul qword [0x418260]
fstp qword [esp + 0x150]
call fcn.0040b6b5
add esp, 0x14
jmp 0x401c32
mov ecx, dword [ebx + 0xc]
lea eax, [esp + 0x13c]
push eax
push 0x419360
push ecx
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0x40590000
call fcn.0040b55c
fld qword [esp + 0x148]
fcomp qword [0x418290]
add esp, 0xc
fnstsw ax
test ah, 0x40
jne 0x401c46
fld qword [esp + 0x13c]
fmul qword [esp + 0xb4]
fmul qword [0x418280]
fstp qword [esp + 0xd4]
fld qword [esp + 0x13c]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x40
je 0x401c78
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0x40590000
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], eax
fld qword [esp + 0x54]
fcomp qword [0x418260]
fnstsw ax
test ah, 0x40
je 0x401caf
fld qword [esp + 0x13c]
fcomp qword [0x418260]
fnstsw ax
test ah, 0x40
je 0x401caf
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0x3ff00000
jmp 0x401cbd
fld qword [esp + 0x54]
fmul qword [0x418280]
fstp qword [esp + 0x54]
fld qword [esp + 0xf4]
fcomp qword [0x418290]
fild dword [esp + 0x40]
fnstsw ax
test ah, 0x40
je 0x401cdb
fmul qword [esp + 0x54]
jmp 0x401cf5
fsub qword [esp + 0xf4]
fmul qword [esp + 0x54]
fld qword [esp + 0x164]
fdiv qword [0x419048]
faddp st(1)
fdiv qword [esp + 0x74]
fadd qword [0x418268]
call fcn.0040b0c0
mov edi, eax
push edi
push esi
push 0x419364
push 0x4199b8
mov dword [esp + 0x78], edi
call fcn.0040b337
mov ecx, dword [0x41904c]
mov edx, dword [0x419048]
mov eax, dword [esp + 0x178]
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
push 0x419374
push 0x4199b8
call fcn.0040b337
mov eax, edi
add esp, 0x38
cdq
and edx, 0xff
mov dword [esp + 0x100], 0
add eax, edx
mov dword [esp + 0xa0], 0x100
sar eax, 8
lea esi, [eax + 1]
mov eax, dword [ebp + 8]
cmp eax, 0xc
jle 0x401e90
mov eax, dword [ebx + 0x30]
push 0x50
push eax
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x401dc5
mov dword [esp + 0x100], 1
mov dword [esp + 0xa0], 0x100
jmp 0x401e90
mov ecx, dword [ebx + 0x30]
push 0x51
push ecx
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x401e19
lea edx, [esp + 0xc]
inc eax
push edx
push 0x4193b0
push eax
mov dword [esp + 0x10c], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.0040b55c
fld qword [esp + 0x18]
fcomp qword [0x418290]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x401e83
jmp 0x401e61
mov eax, dword [ebx + 0x30]
cmp byte [eax], 0x21
jne 0x401e90
lea ecx, [esp + 0xc]
inc eax
push ecx
push 0x4193b4
push eax
mov dword [esp + 0x10c], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.0040b55c
fld qword [esp + 0x18]
fcomp qword [0x418290]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x401e83
fld qword [0x418258]
fdiv qword [esp + 0xc]
fimul dword [0x419044]
fadd qword [0x418268]
call fcn.0040b0c0
mov dword [esp + 0xa0], eax
mov eax, edi
cdq
idiv dword [esp + 0xa0]
mov esi, eax
inc esi
lea eax, [esi + 1]
mov dword [esp + 0xac], eax
lea edx, [eax*8]
push edx
call fcn.0040b285
mov ecx, dword [ebp + 8]
add esp, 4
cmp ecx, 0xd
mov dword [esp + 0x118], eax
jle 0x401fa5
mov ecx, dword [ebx + 0x30]
cmp byte [ecx], 0x21
jne 0x401fa5
mov edx, dword [esp + 0xac]
lea edi, [edx*4]
push edi
call fcn.0040b285
mov edx, eax
mov ecx, edi
mov dword [esp + 0xac], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xac]
mov edx, dword [ebx + 0x34]
push eax
push ecx
push edx
call fcn.00405c00
add esp, 0x10
test esi, esi
jl 0x401f90
mov ecx, dword [esp + 0x118]
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov edx, dword [eax]
test edx, edx
mov dword [esp + 0xe4], edx
je 0x401f74
fldln2
fld qword [0x418288]
fyl2x
fimul dword [esp + 0xe4]
fmul qword [0x418250]
fldl2e
fmulp st(1)
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fld1
faddp st(1)
fscale
fstp st(1)
fmul qword [esp + 0xd4]
fstp qword [ecx]
jmp 0x401f87
mov edx, dword [esp + 0xd4]
mov edi, dword [esp + 0xd8]
mov dword [ecx], edx
mov dword [ecx + 4], edi
add eax, 4
add ecx, 8
dec esi
jne 0x401f2f
mov eax, dword [esp + 0xa8]
push eax
call fcn.0040b422
add esp, 4
jmp 0x402045
test esi, esi
mov dword [esp + 0x3c], 0
jl 0x402045
mov edi, eax
add ebx, 0x30
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
mov dword [edi], ecx
mov ecx, dword [ebp + 8]
add eax, 0xc
cmp eax, ecx
mov dword [edi + 4], edx
jge 0x40202e
mov edx, dword [ebx]
lea ecx, [esp + 0xc]
push ecx
push 0x4193b8
push edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call fcn.0040b55c
fldln2
add esp, 0xc
fld qword [0x418288]
fyl2x
fmul qword [esp + 0xc]
fmul qword [0x418250]
fldl2e
fmulp st(1)
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fld1
faddp st(1)
fscale
fstp st(1)
fmul qword [edi]
fstp qword [edi]
mov eax, dword [esp + 0x3c]
add ebx, 4
inc eax
add edi, 8
cmp eax, esi
mov dword [esp + 0x3c], eax
jle 0x401fba
mov ebx, dword [esp + 0x38]
push 0x57
push ebx
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x402063
mov dword [esp + 0x108], 1
push 0x62
push ebx
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x4020b1
lea ecx, [esp + 0x19c]
inc eax
push ecx
push 0x4193bc
push eax
call fcn.0040b55c
fld qword [esp + 0x1a8]
fcomp qword [0x418290]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x4020b1
fld qword [esp + 0x19c]
fmul qword [0x418280]
fstp qword [esp + 0x19c]
push 0x4e
push ebx
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x4020cb
mov dword [esp + 0x188], 1
push 0x59
push ebx
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x40216a
lea edx, [esp + 0x11c]
inc eax
push edx
push 0x4193c0
push eax
call fcn.0040b55c
fld qword [esp + 0x128]
fmul qword [0x418280]
add esp, 0xc
fst qword [esp + 0x11c]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
je 0x402140
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
jmp 0x40216a
fld qword [esp + 0x11c]
fcomp qword [0x418158]
fnstsw ax
test ah, 0x41
jne 0x40216a
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0x3ff00000
push 0x4193c4
call fcn.0040b590
mov eax, dword [esp + 0xa8]
push 0x2008
mov dword [esp + 0x1c4], eax
call fcn.0040b285
push 0x2008
mov dword [esp + 0xbc], eax
call fcn.0040b285
push 0x2008
mov dword [esp + 0x184], eax
call fcn.0040b285
push 0x2010
mov dword [esp + 0xc0], eax
call fcn.0040b285
push 0x2010
mov dword [esp + 0x11c], eax
call fcn.0040b285
push 0x6010
mov dword [esp + 0x194], eax
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
call fcn.0040b285
fld qword [esp + 0x70]
fdiv qword [esp + 0x90]
mov dword [esp + 0x1d4], eax
fmul qword [0x418248]
fadd qword [0x418158]
call fcn.0040b0c0
mov edi, dword [esp + 0x84]
push 8
lea esi, [eax + edi]
push esi
call fcn.0040b1d4
push 8
push esi
mov dword [esp + 0x9c], eax
call fcn.0040b1d4
add esp, 0x2c
mov dword [esp + 0xa8], eax
xor eax, eax
mov dword [esp + 0xd0], 0xffffffff
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x1d4]
fild dword [esp + 0x3c]
inc eax
add ecx, 8
cmp eax, 0x200
mov dword [esp + 0x3c], eax
fmul qword [0x418240]
fcos
fmul qword [0x418268]
fsubr qword [0x418268]
fstp qword [ecx - 8]
jl 0x402273
xor eax, eax
lea ecx, [esp + 0x11d4]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
inc eax
add ecx, 8
cmp eax, 0x400
mov dword [esp + 0x3c], eax
fmul qword [0x418238]
fsin
fstp qword [ecx - 8]
jl 0x4022aa
push 0x67
push ebx
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x40236c
lea ecx, [esp + 0x2c]
inc eax
push ecx
push 0x4193d0
push eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call fcn.0040b55c
fld qword [esp + 0x38]
fcomp qword [0x418260]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x402332
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x40590000
jmp 0x402353
fld qword [esp + 0x2c]
fcomp qword [0x418230]
fnstsw ax
test ah, 1
je 0x402353
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xc0590000
fld qword [0x418228]
fld qword [esp + 0x2c]
fmul qword [0x418220]
call fcn.0040b720
fstp qword [esp + 0x2c]
fld qword [0x419048]
fmul qword [esp + 0x74]
test edi, edi
mov dword [esp + 0x9c], 0
fstp qword [esp + 0x124]
fild dword [esp + 0xe0]
fsub qword [esp + 0x124]
fstp qword [esp + 0xc4]
jle 0x4030a9
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xe0]
add edx, eax
mov dword [esp + 0x1c0], edx
fld qword [esp + 0xf4]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x40
jne 0x4024b6
fld qword [esp + 0x164]
fdiv qword [0x419048]
fstp qword [esp + 0x24]
fild dword [0x419044]
fmul qword [0x418218]
fld qword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x40240b
fild dword [esp + 0x9c]
fstp qword [esp + 0xbc]
fild dword [esp + 0x9c]
fstp qword [esp + 0xbc]
fld qword [esp + 0x24]
fsub qword [0x418270]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 0x41
jne 0x402451
fld qword [esp + 0xc4]
fadd qword [esp + 0x124]
fstp qword [esp + 0xc4]
fld qword [0x419048]
jmp 0x4024d5
fld qword [esp + 0x24]
fadd qword [0x418210]
fcomp qword [esp + 0xbc]
fnstsw ax
test ah, 0x41
jne 0x4024b6
fld qword [esp + 0xbc]
fsub qword [esp + 0x24]
fadd qword [0x418270]
call fcn.0040b0c0
fld qword [esp + 0xc4]
fadd qword [esp + 0x124]
fstp qword [esp + 0xc4]
fld qword [0x418158]
fdiv qword [esp + 0x54]
fmul qword [esp + eax*8 + 0x1d4]
fld qword [0x419048]
fmul qword [esp + eax*8 + 0x9d4]
faddp st(1)
jmp 0x4024d5
fld qword [esp + 0xc4]
fadd qword [esp + 0x124]
fstp qword [esp + 0xc4]
fld qword [0x418158]
fdiv qword [esp + 0x54]
fmul qword [esp + 0x74]
fstp qword [esp + 0x124]
fld qword [esp + 0xc4]
call fcn.0040b0c0
mov ecx, eax
mov eax, dword [esp + 0x1c0]
cmp ecx, eax
mov dword [esp + 0x50], ecx
jg 0x4030a9
mov eax, ecx
mov ebx, dword [esp + 0x9c]
cdq
and edx, 0xff
add eax, edx
mov esi, eax
mov eax, dword [esp + 0xd0]
sar esi, 8
cmp eax, esi
mov dword [esp + 0x3c], esi
je 0x40253f
mov ecx, ebx
sar ecx, 8
push ecx
push esi
push 0x4193d4
call fcn.0040b6b5
mov ecx, dword [esp + 0x5c]
add esp, 0xc
add ecx, 0xffffff80
mov dword [esp + 0xe4], ecx
fild dword [esp + 0xe4]
fmul qword [0x418208]
fst qword [esp + 0x24]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
je 0x402577
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
jmp 0x40259e
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.0040afa0
add esp, 8
call fcn.0040b0c0
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fsubr qword [esp + 0x24]
fstp qword [esp + 0x24]
mov ecx, dword [esp + 0x1bc]
fld qword [ecx + eax*8]
fstp qword [esp + 0xc]
fld qword [ecx + eax*8 + 8]
fld qword [esp + 0xc]
fcomp qword [0x418200]
fnstsw ax
test ah, 0x41
jne 0x4025d9
fld qword [esp + 0xb4]
fmul qword [0x4181f8]
fcomp qword [esp + 0xc]
fnstsw ax
test ah, 1
je 0x4025ef
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
fcom qword [0x418200]
fnstsw ax
test ah, 0x41
jne 0x402614
fld qword [esp + 0xb4]
fmul qword [0x4181f8]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x40261d
fstp st(0)
fld qword [esp + 0xb4]
fld qword [0x418158]
fsub qword [esp + 0x24]
mov eax, dword [0x4206ec]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x100]
fmul qword [esp + 0xc]
fld qword [esp + 0x24]
fmul st(2)
test eax, eax
faddp st(1)
fstp qword [esp + 0x84]
fstp st(0)
fild qword [esp + 0x1c4]
fdiv qword [esp + 0x84]
fst qword [esp + 0x7c]
je 0x4026be
mov edi, dword [esp + 0xa0]
mov eax, ebx
cdq
idiv edi
mov ecx, eax
mov eax, ebx
cdq
idiv edi
mov eax, dword [esp + 0x118]
mov dword [esp + 0x50], ecx
sub edi, edx
mov dword [esp + 0x10c], edx
mov dword [esp + 0xe4], edi
fild dword [esp + 0xe4]
fmul qword [eax + ecx*8]
fild dword [esp + 0x10c]
fmul qword [eax + ecx*8 + 8]
faddp st(1)
fidiv dword [esp + 0xa0]
jmp 0x4026d3
mov eax, dword [esp + 0x118]
fld qword [eax + esi*8 + 8]
fsub qword [eax + esi*8]
fmul qword [esp + 0x24]
fadd qword [eax + esi*8]
fstp qword [esp + 0x17c]
fld qword [esp + 0x17c]
fdiv qword [esp + 0xb4]
fmul qword [esp + 0x74]
fstp qword [esp + 0xbc]
fld qword [esp + 0x18c]
fcomp qword [0x418260]
fnstsw ax
test ah, 0x40
jne 0x40273a
fld qword [esp + 0x17c]
fdiv qword [esp + 0x84]
fmul qword [esp + 0x74]
fld qword [esp + 0xbc]
fsub st(1)
fmul qword [esp + 0x18c]
fmul qword [0x418280]
fadd st(1)
fstp qword [esp + 0xbc]
fstp st(0)
fld qword [esp + 0xbc]
fsub qword [esp + 0x124]
cmp dword [esp + 0xd0], esi
fstp qword [esp + 0x1cc]
je 0x402b3d
fld qword [esp + 0x74]
fcomp qword [0x418158]
fnstsw ax
test ah, 1
je 0x402775
fld qword [0x418158]
jmp 0x402779
fld qword [esp + 0x74]
fmul qword [0x4181f0]
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x6c]
lea ecx, [esp + 0x11d4]
mov edi, 0xfffffe00
sub eax, ecx
mov dword [esp + 0x5c], 0
fstp qword [esp + 0x44]
mov dword [esp + 0x60], 0
mov dword [esp + 0x14c], 0
fmul qword [0x418268]
mov dword [esp + 0x150], 0
mov dword [esp + 0x4c], edi
lea esi, [esp + 0x11d4]
mov dword [esp + 0xe4], eax
fstp qword [esp + 0x24]
fild dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
xor edx, edx
fmul qword [esp + 0x74]
mov dx, word [0x4206ea]
push edx
push eax
push ecx
push ebx
fstp qword [esp + 0xfc]
fld qword [esp + 0xd4]
fadd qword [esp + 0xfc]
sub esp, 8
fsub qword [esp + 0x3c]
fstp qword [esp]
call fcn.00401140
fmul qword [esi]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
xor edx, edx
add esp, 0x18
mov dx, word [0x4206ea]
fstp qword [esp + 0x10c]
fld qword [esp + 0x24]
fadd qword [esp + 0xc4]
push edx
push eax
push ecx
push ebx
fadd qword [esp + 0xfc]
sub esp, 8
fstp qword [esp]
call fcn.00401140
fmul qword [esi]
fld qword [esp + 0x124]
mov edx, dword [esp + 0xfc]
add esp, 0x18
fsub st(1)
inc edi
add esi, 8
cmp edi, 0x200
mov dword [esp + 0x4c], edi
fstp qword [esp + 0xec]
fadd qword [esp + 0x10c]
fld qword [esp + 0xec]
fstp qword [edx + esi - 8]
fld qword [esp + 0xec]
fmul qword [esp + 0xec]
fadd qword [esp + 0x14c]
fstp qword [esp + 0x14c]
fld st(0)
fmul st(1)
fadd qword [esp + 0x5c]
fstp qword [esp + 0x5c]
fstp st(0)
jl 0x4027de
fld qword [esp + 0x14c]
fdiv qword [esp + 0x5c]
fcom qword [0x418158]
fnstsw ax
test ah, 0x41
jne 0x4028fb
fstp st(0)
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
jmp 0x40290c
fld qword [0x418158]
fsub st(1)
fstp qword [esp + 0x194]
fstp st(0)
mov esi, dword [esp + 0xb0]
push 0x41cee0
push 0x41eee0
push esi
push 1
push 0x400
call fcn.00405ed0
fld qword [esi]
mov eax, dword [esp + 0x188]
add esp, 0x14
fabs
fstp qword [eax]
fld qword [esi + 8]
fabs
fst qword [eax + 0x1000]
fadd qword [eax]
lea edi, [eax + 8]
add esi, 0x10
mov ebx, 0x1ff
fstp qword [esp + 0xec]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push ecx
push edx
push eax
call fcn.00415e66
fst qword [edi]
fadd qword [esp + 0xfc]
add esp, 0x10
add esi, 0x10
add edi, 8
dec ebx
fstp qword [esp + 0xec]
jne 0x402959
fld qword [esp + 0x84]
fmul qword [esp + 0x2c]
sub esp, 8
fidiv dword [0x419040]
fmul qword [0x4181e8]
fst qword [esp + 0x8c]
fadd st(0), st(0)
fstp qword [esp]
call fcn.0040afa0
add esp, 8
call fcn.0040b0c0
fld qword [0x418168]
fdiv qword [esp + 0x84]
mov ebx, eax
mov edi, ebx
mov dword [esp + 0x24], ebx
neg edi
mov esi, edi
cmp esi, ebx
mov dword [esp + 0x10c], esi
fstp qword [esp + 0xe4]
fld qword [0x418158]
fdiv qword [esp + 0x84]
mov dword [esp + 0x84], edi
fstp qword [esp + 0xc]
jg 0x402a4b
mov ecx, dword [esp + 0x178]
lea edx, [ecx + esi*8 + 0x1000]
mov dword [esp + 0x4c], edx
fild dword [esp + 0x10c]
sub esp, 8
fmul qword [esp + 0xec]
fstp qword [esp]
call fcn.00401060
fmul qword [esp + 0x14]
mov eax, dword [esp + 0x54]
add esp, 8
inc esi
add eax, 8
cmp esi, ebx
mov dword [esp + 0x10c], esi
fstp qword [eax - 8]
mov dword [esp + 0x4c], eax
jle 0x402a11
mov esi, dword [esp + 0x104]
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esi], 0
cmp edi, ebx
mov dword [esi + 4], 0
jg 0x402b04
lea ecx, [edi + eax]
mov eax, dword [esp + 0x178]
lea edx, [eax + edi*8 + 0x1000]
mov eax, ecx
mov dword [esp + 0xe4], edx
lea edx, [ecx*8]
mov dword [esp + 0x10c], edx
mov edx, ebx
neg eax
sub edx, edi
shl eax, 3
inc edx
mov edi, dword [esp + 0x10c]
test ecx, ecx
jge 0x402aae
mov edi, eax
jmp 0x402abc
cmp ecx, 0x200
jle 0x402abc
lea edi, [eax + 0x2000]
mov ebx, dword [esp + 0x174]
inc ecx
sub eax, 8
fld qword [edi + ebx]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x10c]
add ebx, 8
fmul qword [edi]
add edi, 8
dec edx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0xe4], edi
fadd qword [esi]
fstp qword [esi]
jne 0x402a9f
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x24]
fild dword [esp + 0x4c]
inc eax
add esi, 8
cmp eax, 0x200
mov dword [esp + 0x4c], eax
fmul qword [esi - 8]
fmul qword [0x4181e0]
fstp qword [esi - 8]
jle 0x402a58
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x9c]
fld qword [esp + 0x7c]
mov dword [esp + 0xd0], eax
fcom qword [0x4181d8]
fnstsw ax
test ah, 1
je 0x402b5d
fadd st(0), st(0)
fcom qword [0x4181d8]
fnstsw ax
test ah, 1
jne 0x402b4a
fst qword [esp + 0x7c]
fld qword [esp + 0x1cc]
fdiv st(1)
fadd qword [esp + 0x12c]
fstp qword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
push ecx
push edx
fstp st(0)
call fcn.0040afa0
fsubr qword [esp + 0x134]
mov eax, dword [esp + 0x110]
add esp, 8
test eax, eax
fstp qword [esp + 0x12c]
je 0x402c00
fild dword [0x419044]
fdivr qword [esp + 0x17c]
fadd qword [esp + 0x15c]
fstp qword [esp + 0x15c]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
push eax
push ecx
call fcn.0040afa0
fsubr qword [esp + 0x164]
add esp, 8
fst qword [esp + 0x15c]
fsub qword [0x418268]
fmul qword [esp + 0x194]
fmul qword [0x4181d0]
jmp 0x402ced
fld qword [esp + 0xbc]
fcomp qword [0x418158]
fnstsw ax
test ah, 1
je 0x402c2a
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0x3ff00000
fld qword [esp + 0x7c]
fmul qword [esp + 0x12c]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xbc]
mov eax, dword [esp + 0x6c]
xor edx, edx
mov dx, word [0x4206ea]
fstp qword [esp + 0x17c]
fld qword [esp + 0x17c]
fadd qword [esp + 0xc4]
push edx
push esi
push edi
push eax
sub esp, 8
fstp qword [esp]
call fcn.00401140
fstp qword [esp + 0xac]
fld qword [esp + 0x144]
fmul qword [0x418168]
mov edx, dword [esp + 0x84]
xor ecx, ecx
mov cx, word [0x4206ea]
add esp, 0x18
fcos
push ecx
push esi
push edi
push edx
sub esp, 8
fadd qword [0x418158]
fmul qword [0x418268]
fstp qword [esp + 0x3c]
fld qword [esp + 0x194]
fsub qword [esp + 0x94]
fadd qword [esp + 0xdc]
fstp qword [esp]
call fcn.00401140
fld qword [0x418158]
fsub qword [esp + 0x3c]
add esp, 0x18
fmulp st(1)
fld qword [esp + 0x24]
fmul qword [esp + 0x94]
faddp st(1)
fstp qword [esp + 0xc]
mov eax, dword [esp + 0x70]
fld qword [esp + 0xc]
fadd qword [eax + ebx*8]
fst qword [eax + ebx*8]
mov esi, dword [0x41c990]
test esi, esi
je 0x402d56
mov edi, dword [0x419034]
mov eax, ebx
cdq
idiv edi
mov ecx, eax
mov eax, ebx
cdq
idiv edi
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fidiv dword [0x419034]
fstp qword [esp + 0x94]
fld qword [0x418158]
fsub qword [esp + 0x94]
fmul qword [esi + ecx*8]
fld qword [esp + 0x94]
fmul qword [esi + ecx*8 + 8]
faddp st(1)
fmul st(1)
fstp qword [eax + ebx*8]
mov ecx, dword [0x41c998]
test ecx, ecx
fstp st(0)
je 0x402d99
mov esi, dword [0x41903c]
mov eax, ebx
cdq
idiv esi
fld qword [ecx + eax*8]
fld st(0)
fsub qword [ecx + eax*8 + 8]
mov eax, ebx
cdq
idiv esi
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fmulp st(1)
fidiv dword [0x41903c]
fsubr st(1)
fdivr qword [0x418158]
fstp qword [esp + 0x2c]
fstp st(0)
mov ecx, ebx
and ecx, 0x800000ff
jns 0x402dab
dec ecx
or ecx, 0xffffff00
inc ecx
jne 0x40308e
test ebx, ebx
mov ebx, dword [esp + 0xac]
jne 0x402ded
mov esi, ebx
mov edi, 0x300
call fcn.0040b1b6
mov dword [esp + 0x24], eax
add esi, 8
fild dword [esp + 0x24]
dec edi
fmul qword [0x4181c8]
fsub qword [0x418268]
fmul qword [0x4181c0]
fstp qword [esi - 8]
jne 0x402dc3
jmp 0x402e0b
mov eax, ebx
mov ecx, 0x300
mov edx, dword [eax + 0x800]
mov dword [eax], edx
mov edx, dword [eax + 0x804]
mov dword [eax + 4], edx
add eax, 8
dec ecx
jne 0x402df4
lea esi, [ebx + 0x1800]
mov edi, 0x100
call fcn.0040b1b6
mov dword [esp + 0x24], eax
add esi, 8
fild dword [esp + 0x24]
dec edi
fmul qword [0x4181c8]
fsub qword [0x418268]
fmul qword [0x4181c0]
fstp qword [esi - 8]
jne 0x402e16
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
lea edx, [esp + 0x11d4]
lea eax, [esp + 0x11d4]
sub ecx, edx
lea edx, [esp + 0x11d4]
sub ebx, edx
mov edx, 0x400
fld qword [ecx + eax]
fmul qword [eax]
add eax, 8
dec edx
fstp qword [eax + ebx - 8]
jne 0x402e6a
mov edi, dword [esp + 0xb0]
push 0x41cee0
push 0x41eee0
push edi
push 1
push 0x400
call fcn.00405ed0
mov eax, dword [esp + 0x118]
mov esi, 1
add esp, 0x14
mov dword [esp + 0x4c], esi
fld qword [eax]
fmul qword [edi]
add edi, 0x10
fst qword [edi - 0x10]
fabs
fstp qword [esp + 0x84]
mov eax, dword [esp + 0x188]
fild dword [esp + 0x4c]
test eax, eax
je 0x402ed3
fdiv qword [esp + 0xbc]
fdiv qword [esp + 0x2c]
fstp qword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push ecx
push edx
call fcn.0040afa0
add esp, 8
call fcn.0040b0c0
mov dword [esp + 0x24], eax
cmp eax, 0x200
fild dword [esp + 0x24]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
fsubr qword [esp + 0x94]
fstp qword [esp + 0x94]
jg 0x402f5a
fld qword [0x418158]
fsub qword [esp + 0x94]
mov ecx, dword [esp + 0x104]
fmul qword [ecx + eax*8]
fstp qword [esp + 0xc]
jge 0x402f5a
fld qword [esp + 0x94]
mov edx, ecx
fmul qword [edx + eax*8 + 8]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [esp + 0xc]
cmp esi, 0x200
jge 0x402f96
fmul qword [edi]
fstp qword [edi]
fld qword [esp + 0xc]
fmul qword [edi + 8]
fst qword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
fstp qword [edi + 8]
mov edx, dword [edi + 4]
push eax
mov eax, dword [edi]
push ecx
push edx
push eax
call fcn.00415e66
add esp, 0x10
jmp 0x402fa5
mov eax, dword [esp + 0xb0]
fmul qword [eax + 8]
fst qword [eax + 8]
fabs
fadd qword [esp + 0x84]
inc esi
add edi, 0x10
cmp esi, 0x200
mov dword [esp + 0x4c], esi
fstp qword [esp + 0x84]
jle 0x402ebd
mov ecx, dword [esp + 0xb0]
push 0x41cee0
push 0x41eee0
push ecx
push 0xffffffffffffffff
push 0x400
call fcn.00405ed0
fld qword [esp + 0x98]
fcomp qword [0x418290]
add esp, 0x14
fnstsw ax
test ah, 0x40
je 0x403028
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0x3ff00000
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0x3ff00000
fld qword [esp + 0xec]
fmul qword [0x4181b8]
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa8]
mov esi, 0x200
lea edx, [esp + 0x11d4]
fdiv qword [esp + 0x84]
lea eax, [edi - 0x200]
sub esi, edi
lea ecx, [ecx + eax*8]
fstp qword [esp + 0xc]
test eax, eax
jl 0x40307c
cmp eax, dword [esp + 0x68]
jge 0x40307c
fld qword [esp + 0xc]
fmul qword [edx + ebx]
fmul qword [edx]
fadd qword [ecx]
fstp qword [ecx]
inc eax
add ecx, 8
add edx, 8
lea edi, [esi + eax]
cmp edi, 0x400
jl 0x403065
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x68]
inc eax
cmp eax, ecx
mov dword [esp + 0x9c], eax
jl 0x4023b9
mov eax, dword [esp + 0x188]
test eax, eax
jne 0x40334e
mov edi, dword [esp + 0x38]
push 0x46
push edi
mov dword [esp + 0x58], 1
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x4030e7
lea edx, [esp + 0x50]
inc eax
push edx
push 0x4193e0
push eax
call fcn.0040b55c
add esp, 0xc
fild dword [0x419044]
fdivr qword [0x4181e8]
fimul dword [esp + 0x50]
fmul qword [esp + 0xd4]
fadd qword [0x418268]
call fcn.0040b0c0
mov esi, eax
push 0x4c
push edi
mov dword [esp + 0x44], esi
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403157
lea ecx, [esp + 0x50]
inc eax
push ecx
push 0x4193e4
push eax
mov dword [esp + 0x5c], 0
call fcn.0040b55c
mov eax, dword [esp + 0x5c]
add esp, 0xc
test eax, eax
jle 0x403157
shl eax, 0xa
cdq
and edx, 0xff
add eax, edx
mov esi, eax
sar esi, 8
mov dword [esp + 0x3c], esi
cmp esi, 0x23
jle 0x403165
mov esi, 0x23
mov dword [esp + 0x3c], esi
push 0x67
push edi
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403209
lea edx, [esp + 0x2c]
inc eax
push edx
push 0x4193e8
push eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call fcn.0040b55c
fld qword [esp + 0x38]
fcomp qword [0x418260]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x4031cf
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x40590000
jmp 0x4031f0
fld qword [esp + 0x2c]
fcomp qword [0x418230]
fnstsw ax
test ah, 1
je 0x4031f0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0xc0590000
fld qword [0x418228]
fld qword [esp + 0x2c]
fmul qword [0x4181b0]
call fcn.0040b720
fstp qword [esp + 0x2c]
push 0x66
push edi
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403259
lea ecx, [esp + 0x154]
inc eax
push ecx
push 0x4193ec
push eax
call fcn.0040b55c
fld qword [esp + 0x160]
fmul qword [0x418280]
add esp, 0xc
fstp qword [esp + 0x154]
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [0x419044]
push ecx
push edx
push esi
cdq
and edx, 0x3ff
sub esp, 8
add eax, edx
sar eax, 0xa
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fimul dword [esp + 0x58]
fstp qword [esp]
push 0x4193f0
call fcn.0040b6b5
fld qword [esp + 0x184]
fdiv qword [0x419048]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
add esp, 0x20
mov ebx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0xa8]
push edi
push ecx
mov ecx, dword [esp + 0xac]
push edx
mov edx, dword [esp + 0x128]
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x11c]
push edx
mov edx, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x10c]
push esi
mov esi, dword [esp + 0x98]
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0xac]
push eax
mov eax, dword [esp + 0xec]
push ecx
push edx
push esi
push eax
push ebx
call fcn.00403f30
fstp qword [esp + 0x18c]
add esp, 0x58
jmp 0x40335a
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
push 0x58
push edi
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x4033e3
lea ecx, [esp + 0x44]
inc eax
push ecx
push 0x419428
push eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x3ff00000
call fcn.0040b55c
fld qword [esp + 0x18]
fcomp qword [0x418158]
add esp, 0xc
fnstsw ax
test ah, 0x40
jne 0x4033e3
test esi, esi
jle 0x4033e3
mov edi, dword [esp + 0x70]
mov ebx, esi
fld qword [edi]
fmul qword [0x4181a8]
fadd qword [0x418268]
fld qword [esp + 0x44]
call fcn.0040b720
fld qword [0x418268]
fld qword [esp + 0x44]
call fcn.0040b720
fsubp st(1)
add edi, 8
dec ebx
fmul qword [0x4181a0]
fstp qword [edi - 8]
jne 0x4033a8
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x38]
push 0x68
push edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403456
lea ecx, [esp + 0x14]
inc eax
push ecx
push 0x41942c
push eax
call fcn.0040b55c
fld qword [esp + 0x20]
fmul qword [0x418280]
add esp, 0xc
fcom qword [0x418290]
fnstsw ax
test ah, 1
je 0x40343b
fstp st(0)
fld qword [0x418290]
jmp 0x403450
fcom qword [0x418158]
fnstsw ax
test ah, 1
jne 0x403450
fstp st(0)
fld qword [0x418198]
fsqrt
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x41
jne 0x4034a9
cmp esi, 1
jle 0x40348f
lea eax, [ebx + 8]
dec esi
fld qword [0x418158]
fsub qword [esp + 0x14]
add eax, 8
dec esi
fmul qword [eax - 8]
fld qword [esp + 0x14]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [eax - 8]
jne 0x403470
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jmp 0x4034b9
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x3fe00000
mov edx, dword [esp + 0x38]
push 0x63
push edx
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403533
lea ecx, [esp + 0x1c]
inc eax
push ecx
push 0x419430
push eax
call fcn.0040b55c
fld qword [esp + 0x28]
fmul qword [0x418280]
add esp, 0xc
fst qword [esp + 0x1c]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
je 0x403510
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jmp 0x4035d2
fld qword [esp + 0x1c]
fcomp qword [0x418158]
fnstsw ax
test ah, 0x41
jne 0x403533
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x3ff00000
jmp 0x403548
fld qword [esp + 0x1c]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x41
jne 0x4035d2
xor ecx, ecx
test esi, esi
jle 0x4035b6
lea eax, [ebx - 8]
fld qword [eax + 0x10]
fmul qword [0x418298]
fld qword [eax + 8]
fmul qword [0x418268]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
test ecx, ecx
faddp st(1)
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edi
fstp qword [esp + 0xc]
jle 0x4035ae
fld qword [eax]
fmul qword [0x418298]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [0x418158]
fsub qword [esp + 0x1c]
fmul qword [eax]
fld qword [esp + 0x1c]
fmul qword [esp + 0x8c]
faddp st(1)
fstp qword [eax]
inc ecx
add eax, 8
cmp ecx, esi
jl 0x403551
fld qword [0x418158]
fsub qword [esp + 0x1c]
fmul qword [ebx + esi*8 - 8]
fld qword [esp + 0x1c]
fmul qword [esp + 0xc]
faddp st(1)
fstp qword [ebx + esi*8 - 8]
mov eax, dword [esp + 0x38]
push 0x42
push eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0x3ff00000
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403703
mov cl, byte [eax + 1]
inc eax
test cl, cl
je 0x403703
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], 0
push ecx
push 0x419434
push eax
mov dword [esp + 0x6c], 0x40490000
call fcn.0040b55c
fld qword [esp + 0x68]
fcomp qword [0x418290]
add esp, 0xc
fnstsw ax
test ah, 1
jne 0x40367a
fld qword [esp + 0x5c]
fcomp qword [0x4181d8]
fnstsw ax
test ah, 1
je 0x40367a
fld qword [esp + 0x5c]
fmul qword [0x418190]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x3ff00000
fstp qword [esp + 0x5c]
jmp 0x4036e2
fld qword [esp + 0x5c]
fcomp qword [0x4181d8]
fnstsw ax
test ah, 0x41
jne 0x4036c2
fld qword [esp + 0x5c]
fcomp qword [0x418260]
fnstsw ax
test ah, 0x41
je 0x4036c2
fld qword [0x418260]
fsub qword [esp + 0x5c]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0x3ff00000
fmul qword [0x418190]
fstp qword [esp + 0x44]
jmp 0x4036e2
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0x3ff00000
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x3ff00000
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
push 0x419438
call fcn.0040b6b5
add esp, 0x14
test esi, esi
jle 0x403769
mov edx, dword [esp + 0xa8]
mov ecx, ebx
sub edx, ebx
mov edi, esi
fld qword [esp + 0x5c]
fmul qword [edx + ecx]
fld qword [esp + 0x44]
fmul qword [ecx]
faddp st(1)
fst qword [ecx]
fabs
fstp qword [esp + 0x8c]
fld qword [esp + 0x134]
fcomp qword [esp + 0x8c]
fnstsw ax
test ah, 1
je 0x403763
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x138], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x134], eax
add ecx, 8
dec edi
jne 0x403714
mov edi, dword [esp + 0x38]
push 0x43
push edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x4037f3
lea ecx, [esp + 0x1c]
inc eax
push ecx
push 0x41944c
push eax
call fcn.0040b55c
fld qword [esp + 0x28]
fmul qword [0x418280]
add esp, 0xc
fst qword [esp + 0x1c]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
je 0x4037d0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
jmp 0x403896
fld qword [esp + 0x1c]
fcomp qword [0x418158]
fnstsw ax
test ah, 0x41
jne 0x4037f3
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x3ff00000
jmp 0x403808
fld qword [esp + 0x1c]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x41
jne 0x403896
xor ecx, ecx
test esi, esi
jle 0x403876
lea eax, [ebx - 8]
fld qword [eax + 0x10]
fmul qword [0x418298]
fld qword [eax + 8]
fmul qword [0x418268]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
test ecx, ecx
faddp st(1)
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edi
fstp qword [esp + 0xc]
jle 0x40386e
fld qword [eax]
fmul qword [0x418298]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [0x418158]
fsub qword [esp + 0x1c]
fmul qword [eax]
fld qword [esp + 0x1c]
fmul qword [esp + 0x8c]
faddp st(1)
fstp qword [eax]
inc ecx
add eax, 8
cmp ecx, esi
jl 0x403811
fld qword [0x418158]
fsub qword [esp + 0x1c]
mov edi, dword [esp + 0x38]
fmul qword [ebx + esi*8 - 8]
fld qword [esp + 0x1c]
fmul qword [esp + 0xc]
faddp st(1)
fstp qword [ebx + esi*8 - 8]
push 0x44
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x40390b
lea ecx, [esp + 0x14]
inc eax
push ecx
push 0x419450
push eax
call fcn.0040b55c
fld qword [esp + 0x20]
fmul qword [0x418280]
add esp, 0xc
fst qword [esp + 0x14]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
jne 0x4039ce
fld qword [esp + 0x14]
fcomp qword [0x418158]
fnstsw ax
test ah, 0x41
jne 0x40390b
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x3ff00000
jmp 0x403920
fld qword [esp + 0x14]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x41
jne 0x4039ce
xor ecx, ecx
test esi, esi
jle 0x403a43
fld qword [esp + 0x8c]
lea eax, [ebx - 0x10]
fstp qword [esp + 0x94]
fld qword [esp + 0xc]
fld qword [eax + 0x20]
fmul qword [0x418298]
fld qword [eax + 0x10]
fmul qword [0x418268]
cmp ecx, 1
faddp st(1)
fstp qword [esp + 0xc]
jle 0x403987
fld qword [eax]
fmul qword [0x418298]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [0x418158]
fsub qword [esp + 0x14]
fmul qword [eax]
fld qword [esp + 0x14]
fmul qword [esp + 0x94]
faddp st(1)
fstp qword [eax]
inc ecx
add eax, 8
cmp ecx, esi
jl 0x403934
fst qword [esp + 0x8c]
fld qword [0x418158]
fsub qword [esp + 0x14]
fmul qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x14]
fmul st(2)
faddp st(1)
fstp qword [ebx + esi*8 - 0x10]
fstp st(0)
fld qword [0x418158]
fsub qword [esp + 0x14]
fmul qword [ebx + esi*8 - 8]
fld qword [esp + 0x14]
fmul qword [esp + 0xc]
faddp st(1)
fstp qword [ebx + esi*8 - 8]
push 0x45
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403a4f
lea edx, [esp + 0x14]
inc eax
push edx
push 0x419454
push eax
call fcn.0040b55c
fld qword [esp + 0x20]
fmul qword [0x418280]
add esp, 0xc
fst qword [esp + 0x14]
fcomp qword [0x418290]
fnstsw ax
test ah, 1
jne 0x403b50
fld qword [esp + 0x14]
fcomp qword [0x418158]
fnstsw ax
test ah, 0x41
jne 0x403a4f
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x3ff00000
jmp 0x403a64
fld qword [esp + 0x8c]
jmp 0x403996
fld qword [esp + 0x14]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x41
jne 0x403b50
xor ecx, ecx
test esi, esi
jle 0x403aee
fld qword [esp + 0x94]
lea eax, [ebx - 0x18]
fstp qword [esp + 0x14c]
fld qword [esp + 0x8c]
fld qword [eax + 0x30]
fmul qword [0x418298]
fld qword [eax + 0x18]
fmul qword [0x418268]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
cmp ecx, 2
mov dword [esp + 0x8c], edx
faddp st(1)
mov dword [esp + 0x90], edi
fstp qword [esp + 0xc]
jle 0x403ae4
fld qword [eax]
fmul qword [0x418298]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fld qword [0x418158]
fsub qword [esp + 0x14]
fmul qword [eax]
fld qword [esp + 0x14]
fmul qword [esp + 0x14c]
faddp st(1)
fstp qword [eax]
inc ecx
add eax, 8
cmp ecx, esi
jl 0x403a78
jmp 0x403af5
fld qword [esp + 0x94]
fld qword [0x418158]
fsub qword [esp + 0x14]
mov edi, dword [esp + 0x38]
fmul qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x14]
fmul st(2)
faddp st(1)
fstp qword [ebx + esi*8 - 0x18]
fstp st(0)
fld qword [0x418158]
fsub qword [esp + 0x14]
fmul qword [ebx + esi*8 - 0x10]
fld qword [esp + 0x14]
fmul qword [esp + 0x8c]
faddp st(1)
fstp qword [ebx + esi*8 - 0x10]
fld qword [0x418158]
fsub qword [esp + 0x14]
fmul qword [ebx + esi*8 - 8]
fld qword [esp + 0x14]
fmul qword [esp + 0xc]
faddp st(1)
fstp qword [ebx + esi*8 - 8]
push 0x48
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403bbf
lea ecx, [esp + 0x14]
inc eax
push ecx
push 0x419458
push eax
call fcn.0040b55c
fld qword [esp + 0x20]
fmul qword [0x418280]
add esp, 0xc
fcom qword [0x418290]
fnstsw ax
test ah, 1
je 0x403ba4
fstp st(0)
fld qword [0x418290]
jmp 0x403bb9
fcom qword [0x418158]
fnstsw ax
test ah, 1
jne 0x403bb9
fstp st(0)
fld qword [0x418198]
fsqrt
fstp qword [esp + 0x14]
fld qword [esp + 0x14]
fcomp qword [0x418290]
fnstsw ax
test ah, 0x41
jne 0x403bfa
cmp esi, 1
jle 0x403bfa
lea eax, [ebx + 8]
lea ecx, [esi - 1]
fld qword [0x418158]
fsub qword [esp + 0x14]
add eax, 8
dec ecx
fmul qword [eax - 8]
fld qword [esp + 0x14]
fmul qword [eax - 0x10]
faddp st(1)
fstp qword [eax - 8]
jne 0x403bdb
mov edx, dword [esp + 0xa8]
push edx
call fcn.0040b422
mov eax, dword [esp + 0x70]
push eax
call fcn.0040b422
fld qword [esp + 0x5c]
fdiv qword [esp + 0x7c]
fmul qword [0x418248]
fadd qword [0x418158]
call fcn.0040b0c0
mov edi, dword [esp + 0x70]
add eax, edi
shl eax, 1
push eax
call fcn.0040b285
fld qword [esp + 0x140]
fcomp qword [0x418290]
mov esi, eax
add esp, 0xc
fnstsw ax
test ah, 0x40
je 0x403c67
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0x40d00000
mov ecx, dword [esp + 0x38]
push 0x50
push ecx
mov dword [esp + 0x4c], 0xb851eb85
mov dword [esp + 0x50], 0x3feb851e
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0x40d00000
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x3ff00000
call fcn.0040b4a0
add esp, 8
test eax, eax
je 0x403daa
lea edx, [esp + 0x14]
lea ecx, [esp + 0x1c]
push edx
lea edx, [esp + 0x48]
push ecx
push edx
inc eax
push 0x41945c
push eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0x40558000
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0x40490000
call fcn.0040b55c
fld qword [esp + 0x58]
fcom qword [0x418260]
add esp, 0x14
fnstsw ax
test ah, 0x41
jne 0x403d07
fstp st(0)
fld qword [0x418260]
jmp 0x403d1c
fcom qword [0x418290]
fnstsw ax
test ah, 1
je 0x403d1c
fstp st(0)
fld qword [0x418290]
fld qword [esp + 0x1c]
fcomp qword [0x418188]
fnstsw ax
test ah, 0x41
jne 0x403d35
fstp st(0)
fld qword [0x418188]
fld qword [esp + 0x1c]
fcomp qword [0x418158]
fnstsw ax
test ah, 1
je 0x403d4e
fstp st(0)
fld qword [0x418158]
fld qword [esp + 0x14]
fcomp qword [0x418260]
fnstsw ax
test ah, 0x41
jne 0x403d71
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x40590000
jmp 0x403d92
fld qword [esp + 0x14]
fcomp qword [0x418158]
fnstsw ax
test ah, 1
je 0x403d92
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x3ff00000
fmul qword [0x418280]
fstp qword [esp + 0x44]
fld qword [esp + 0x1c]
fmul qword [0x418180]
fstp qword [esp + 0x1c]
fld qword [esp + 0x1c]
fdiv qword [esp + 0x134]
test edi, edi
fmul qword [esp + 0x44]
fld qword [0x418158]
fsub qword [esp + 0x44]
faddp st(1)
fmul qword [esp + 0x14]
fstp qword [esp + 0x14c]
jle 0x403e64
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x70]
mov edi, esi
mov dword [esp + 0x108], eax
fld qword [ebx]
fmul qword [esp + 0x14c]
fmul qword [esp + 0x16c]
fst qword [esp + 0xc]
fcomp qword [0x418178]
fnstsw ax
test ah, 0x41
jne 0x403e1c
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x40dfffc0
jmp 0x403e3d
fld qword [esp + 0xc]
fcomp qword [0x418170]
fnstsw ax
test ah, 1
je 0x403e3d
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0xc0dfffc0
fld qword [esp + 0xc]
call fcn.0040b0c0
mov word [edi], ax
mov eax, dword [esp + 0x108]
add ebx, 8
add edi, 2
dec eax
mov dword [esp + 0x108], eax
jne 0x403de9
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
push ecx
call fcn.0040b422
mov edx, dword [0x419044]
lea eax, [edi + edi]
mov edi, dword [ebp + 0xc]
push edx
push 1
push 0x10
mov ecx, dword [edi + 8]
push eax
push esi
push ecx
call fcn.004086e0
push esi
call fcn.0040b422
mov edx, dword [esp + 0xd0]
push edx
call fcn.0040b422
mov eax, dword [esp + 0x198]
push eax
call fcn.0040b422
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.0040b422
mov edx, dword [esp + 0x144]
push edx
call fcn.0040b422
mov eax, dword [esp + 0x134]
push eax
call fcn.0040b422
mov ecx, dword [esp + 0x1ac]
push ecx
call fcn.0040b422
mov edx, dword [esp + 0xdc]
push edx
call fcn.0040b422
mov eax, dword [esp + 0x184]
push eax
call fcn.0040b422
mov ecx, dword [esp + 0x1f8]
add esp, 0x40
push ecx
call fcn.0040b422
mov edx, dword [edi + 8]
push edx
push 0x419468
call fcn.0040b6b5
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret