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

Disassembly:
sub esp, 0x190
fld dword [0x6213fc]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0
call fcn.005755f0
test eax, eax
jle 0x451ba9
mov ecx, dword [0x657070]
inc ecx
test cl, 0x1f
jne 0x451b96
mov byte [esp + 0x1e], 1
test cl, 7
jne 0x451ba0
mov byte [esp + 0x1f], 1
dec eax
jne 0x451b8b
mov dword [0x657070], ecx
mov dword [esp + 0x18], 0
mov ebx, 0x64f918
mov dword [esp + 0x14], 0x645a9c
lea edi, [esp + 0x148]
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
jne 0x451be0
mov dword [edi + 4], 0xffffffff
mov dword [edi], 0xbf800000
jmp 0x451cff
fld dword [ebx]
mov edx, dword [ebx - 4]
mov eax, dword [ebx + 4]
fsub dword [0x588330]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], eax
mov eax, dword [0x620cd4]
lea edx, [esp + 0x80]
mov dword [edi + 4], ecx
fstp dword [esp + 0x78]
mov ecx, dword [eax]
push edx
push 2
push eax
call dword [ecx + 0x98]
mov eax, dword [0x620cd4]
lea edx, [esp + 0x100]
push edx
push 3
mov ecx, dword [eax]
push eax
call dword [ecx + 0x98]
lea eax, [esp + 0x100]
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0xc4]
push ecx
push edx
call fcn.0055734a
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x74]
lea ebp, [edi - 8]
push eax
push ecx
push ebp
call fcn.00558101
fld dword [ebp]
fdiv dword [edi]
mov edx, dword [0x655f24]
xor eax, eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [0x655f1c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
mov edx, dword [0x655f28]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov ecx, dword [0x655f20]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
fadd dword [0x588318]
fild qword [esp + 0x5c]
fmul dword [0x58831c]
fmulp st(1)
fiadd dword [esp + 0x54]
fstp dword [ebp]
fld dword [edi - 4]
fdiv dword [edi]
fsubr dword [0x588318]
fild qword [esp + 0x4c]
fmul dword [0x58831c]
fmulp st(1)
fiadd dword [esp + 0x44]
fstp dword [edi - 4]
fld dword [edi]
fcomp dword [0x588314]
fnstsw ax
test ah, 1
jne 0x451cf8
fld dword [edi]
fcomp dword [0x588318]
fnstsw ax
test ah, 1
jne 0x451cff
mov dword [edi + 4], 0xffffffff
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add eax, 0x20
inc edx
add ebx, 0x400
add edi, 0x10
cmp eax, 0x645b5c
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
jb 0x451bc5
mov edi, 1
lea edx, [esp + 0x140]
mov dword [esp + 0x14], edi
cmp edi, 6
jae 0x451db5
mov eax, 6
lea ecx, [edx + 0x10]
sub eax, edi
mov dword [esp + 0x18], eax
fld dword [edx + 8]
fcomp dword [ecx + 8]
fnstsw ax
test ah, 1
je 0x451da7
mov edi, edx
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov dword [esp + 0x28], ebx
mov ebx, dword [edi + 8]
mov dword [esp + 0x2c], ebx
mov ebx, edx
mov edi, dword [edi + 0xc]
mov dword [esp + 0x30], edi
mov edi, ecx
mov ebp, dword [edi]
mov dword [ebx], ebp
mov ebp, dword [edi + 4]
mov dword [ebx + 4], ebp
mov ebp, dword [edi + 8]
mov dword [ebx + 8], ebp
mov edi, dword [edi + 0xc]
mov dword [ebx + 0xc], edi
mov edi, ecx
mov dword [edi], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0xc], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ecx, 0x10
dec eax
mov dword [esp + 0x18], eax
jne 0x451d4a
inc edi
add edx, 0x10
mov dword [esp + 0x14], edi
lea ecx, [edi - 1]
cmp ecx, 5
jb 0x451d37
lea edx, [esp + 0x140]
mov dword [esp + 0x54], 6
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
mov ebp, dword [eax + 0xc]
cmp ebp, 0xffffffff
je 0x452968
mov ecx, eax
mov dword [esp + 0x44], 0x3f000000
mov edx, dword [ecx]
mov dword [esp + 0x24], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], eax
mov al, byte [ebp + 0x6459a0]
mov ecx, dword [ecx + 8]
test al, 0x40
mov dword [esp + 0x2c], ecx
jne 0x451e1c
mov dword [esp + 0x44], 0x3f800000
mov eax, dword [esi + 0x10]
lea edx, [esp + 0x10]
push 0
push edx
push 0x70
push 0xa80
push eax
mov ecx, 0x620cd0
call fcn.0040d2b0
mov al, byte [0x64598a]
test al, al
je 0x451e77
cmp byte [ebp + 0x64599a], 1
jne 0x451e77
fld dword [esp + 0x24]
fadd dword [0x588cbc]
mov ecx, dword [esp + 0x10]
fstp dword [ecx + 0x54]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov edx, dword [eax + 0x54]
fsub dword [0x588cb8]
mov dword [eax], edx
mov eax, dword [esp + 0x10]
fstp dword [eax + 0x38]
jmp 0x451ea2
fld dword [esp + 0x24]
fsub dword [0x588cb8]
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x54]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov ecx, dword [eax + 0x54]
fadd dword [0x588cbc]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x38]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
mov ecx, dword [eax + 0x38]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x20]
fld dword [esp + 0x28]
mov eax, dword [esp + 0x10]
fstp dword [eax + 4]
fld dword [esp + 0x28]
fadd dword [0x588c48]
mov ecx, dword [esp + 0x10]
fstp dword [ecx + 0x58]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x58]
mov dword [eax + 0x3c], edx
mov eax, dword [0x645994]
test eax, 0x10000
je 0x451f15
test byte [ebp + 0x6459a0], 1
jne 0x451f15
fld dword [esp + 0x44]
fmul dword [0x58860c]
call fcn.005755f0
mov edi, eax
and edi, 0xff
mov eax, edi
shl eax, 0x18
or eax, 0x7f7f7f
jmp 0x451f36
fld dword [esp + 0x44]
fmul dword [0x58860c]
call fcn.005755f0
mov edi, eax
and edi, 0xff
mov eax, edi
shl eax, 0x18
or eax, 0xffffff
mov ecx, dword [esp + 0x10]
push 1
mov dword [ecx + 0x64], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x64]
mov dword [eax + 0x48], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x48]
mov dword [eax + 0x2c], ecx
mov eax, dword [esp + 0x14]
mov ecx, 0x620cd0
mov edx, dword [eax + 0x2c]
mov dword [eax + 0x10], edx
mov eax, dword [esi + 0x10]
push eax
call fcn.0040d2f0
mov eax, dword [0x620cd4]
push 4
push 1
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0xfc]
mov eax, dword [0x620cd4]
push 4
push 4
push 0
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
push 2
push 0x60
push 6
mov ecx, 0x620cd0
call fcn.0040d710
cmp ebp, 5
ja case.default.0x451fa8
jmp dword [ebp*4 + 0x452990]
mov byte [esp + 0x3c], 0xff
mov byte [esp + 0x38], 0
mov byte [esp + 0x40], 0
jmp case.default.0x451fa8
mov byte [esp + 0x3c], 0
mov byte [esp + 0x38], 0xff
mov byte [esp + 0x40], 0
jmp case.default.0x451fa8
mov byte [esp + 0x3c], 0
jmp 0x451ffa
mov byte [esp + 0x3c], 0xff
mov byte [esp + 0x38], 0xff
mov byte [esp + 0x40], 0
jmp case.default.0x451fa8
mov byte [esp + 0x3c], 0
mov byte [esp + 0x38], 0xff
jmp 0x451fff
mov byte [esp + 0x3c], 0xff
mov byte [esp + 0x38], 0
mov byte [esp + 0x40], 0xff
mov ebx, ebp
shl ebx, 5
mov dword [esp + 0x5c], ebx
fld dword [ebx + 0x645aa0]
fcomp dword [0x58831c]
fnstsw ax
test ah, 0x41
jne 0x452027
mov byte [esi + ebp + 0x16], 1
jmp 0x452051
fld dword [ebx + 0x645aa0]
fcomp dword [0x588314]
fnstsw ax
test ah, 0x41
jne 0x452044
mov al, byte [esp + 0x1e]
test al, al
je 0x452051
jmp 0x45204c
mov al, byte [esp + 0x1f]
test al, al
je 0x452051
xor byte [esi + ebp + 0x16], 1
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x10]
push 0
push eax
push 0xe0
push 0xaf0
push ecx
mov ecx, 0x620cd0
call fcn.0040d2b0
mov al, byte [0x64598a]
test al, al
je 0x4520a8
cmp byte [ebp + 0x64599a], 1
jne 0x4520a8
fld dword [esp + 0x24]
fadd dword [0x588b28]
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x54]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov ecx, dword [eax + 0x54]
fsub dword [0x588cb4]
mov dword [eax], ecx
jmp 0x4520cc
fld dword [esp + 0x24]
fsub dword [0x588bfc]
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x54]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov ecx, dword [eax + 0x54]
fsub dword [0x5889ec]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
push 1
shl edi, 8
fstp dword [edx + 0xc4]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc4]
mov dword [eax + 0x70], ecx
mov eax, dword [esp + 0x14]
fld dword [eax]
fadd dword [0x588320]
fstp dword [eax + 0x38]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x14]
fld dword [ebx + 0x645aa4]
fmul dword [0x588bd4]
fadd dword [eax + 0x70]
fstp dword [eax + 0xa8]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x2c]
mov ecx, dword [eax + 0xa8]
fadd dword [0x5885e8]
mov dword [eax + 0x8c], ecx
mov edx, dword [esp + 0x14]
fstp dword [edx + 0x90]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x90]
mov dword [eax + 0x74], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x74]
mov dword [eax + 0x20], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x20]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x14]
fld dword [eax + 4]
fadd dword [0x5885e4]
fstp dword [eax + 0xc8]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc8]
mov dword [eax + 0xac], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xac]
mov dword [eax + 0x58], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax + 0x58]
and ecx, 0xff
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
and eax, 0xff
or edi, eax
mov eax, dword [esp + 0x14]
shl edi, 8
or edi, ecx
and edx, 0xff
shl edi, 8
or edi, edx
mov dword [eax + 0x64], edi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x64]
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x48]
mov dword [eax + 0x2c], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x14]
mov dword [edx + 0xd4], edi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xd4]
mov dword [eax + 0xb8], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xb8]
mov dword [eax + 0x9c], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x9c]
mov dword [eax + 0x80], ecx
mov edx, dword [esi + 0x10]
mov ecx, 0x620cd0
push edx
call fcn.0040d2f0
mov ecx, 0x620cd0
call fcn.0040da10
mov al, byte [esi + ebp + 0x16]
push 2
test al, al
je 0x452253
push 0x64
push 6
mov ecx, 0x620cd0
call fcn.0040d710
push 2
push 0x68
push 6
mov ecx, 0x620cd0
call fcn.0040d710
mov ecx, 0x620cd0
call fcn.0040da60
mov eax, dword [0x620cd4]
push 2
push 1
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0xfc]
mov edx, ebp
shl edx, 0xa
mov eax, dword [edx + 0x64f954]
mov eax, dword [eax + 8]
cmp eax, 0x1a
je 0x4522a5
cmp eax, 0x1b
je 0x4522a5
cmp eax, 0x40
je 0x4522a5
cmp eax, 0x41
jne 0x45257c
fld dword [ebx + 0x645ab0]
fcomp dword [0x588314]
fnstsw ax
test ah, 0x41
jne 0x45257c
mov eax, dword [ebx + 0x645aac]
cmp eax, 0x60
jne 0x4522e1
mov dword [esp + 0x20], 0xffffffff
mov ebx, 0x8c
mov dword [esp + 0x34], 0xc1c00000
jmp 0x452395
test al, 2
je 0x4522ff
mov dword [esp + 0x20], 0x6c
mov dword [esp + 0x4c], 0xc1400000
mov dword [esp + 0x14], 0xc2400000
jmp 0x452369
test al, 4
je 0x452325
mov dword [esp + 0x20], 0x70
mov dword [esp + 0x4c], 0xc1400000
mov dword [esp + 0x14], 0xc1c00000
mov dword [esp + 0x34], 0xc2400000
jmp 0x452371
test al, 8
je 0x452343
mov dword [esp + 0x20], 0x74
mov dword [esp + 0x4c], 0xc2100000
mov dword [esp + 0x14], 0xc1c00000
jmp 0x452369
test al, 0x10
je 0x452361
mov dword [esp + 0x20], 0x78
mov dword [esp + 0x4c], 0x41400000
mov dword [esp + 0x14], 0xc1c00000
jmp 0x452369
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x34], 0xc1c00000
test al, 0x20
je 0x45237c
mov ebx, 0x88
jmp 0x452395
test al, 0x80
je 0x452387
mov ebx, 0x7c
jmp 0x452395
and al, 0x40
neg al
sbb eax, eax
and eax, 0x81
dec eax
mov ebx, eax
mov ecx, dword [esp + 0x5c]
fld dword [ecx + 0x645ab0]
fcom dword [0x588434]
fnstsw ax
test ah, 0x41
jne 0x4523b6
fstp st(0)
fld dword [0x588318]
jmp 0x4523bc
fmul dword [0x5885f0]
fmul dword [esp + 0x44]
fmul dword [0x58860c]
call fcn.005755f0
and eax, 0xff
shl eax, 0x18
or eax, 0xffffff
cmp ebx, 0xffffffff
mov edi, eax
je 0x45257c
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x4524b7
lea ecx, [eax*8]
lea edx, [esp + 0x10]
sub ecx, eax
push 0
push edx
mov edx, dword [esi + 0x10]
shl ecx, 2
push 0x70
push ecx
push edx
mov ecx, 0x620cd0
call fcn.0040d2b0
fld dword [esp + 0x4c]
fadd dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push 1
fstp dword [eax + 0x54]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x54]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
fld dword [eax]
fadd dword [0x58876c]
fstp dword [eax + 0x38]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x18]
mov edx, dword [eax + 0x38]
fadd dword [esp + 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x14]
fstp dword [eax + 0x20]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x20]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x14]
fld dword [eax + 4]
fadd dword [0x58876c]
fstp dword [eax + 0x58]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x58]
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 0x14]
mov dword [eax + 0x64], edi
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x48], edi
mov edx, dword [esp + 0x14]
mov dword [edx + 0x2c], edi
mov eax, dword [esp + 0x14]
mov dword [eax + 0x10], edi
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov edx, dword [esp + 0x20]
push 2
push edx
push 6
mov ecx, 0x620cd0
call fcn.0040d710
mov edx, dword [esi + 0x10]
lea ecx, [ebx*8]
lea eax, [esp + 0x10]
sub ecx, ebx
push 0
push eax
shl ecx, 2
push 0x70
push ecx
push edx
mov ecx, 0x620cd0
call fcn.0040d2b0
fld dword [esp + 0x24]
fsub dword [0x588730]
mov eax, dword [esp + 0x10]
push 1
fstp dword [eax + 0x54]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x54]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
fld dword [eax]
fadd dword [0x58876c]
fstp dword [eax + 0x38]
mov eax, dword [esp + 0x14]
fld dword [esp + 0x38]
mov edx, dword [eax + 0x38]
fadd dword [esp + 0x2c]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x14]
fstp dword [eax + 0x20]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x20]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x14]
fld dword [eax + 4]
fadd dword [0x58876c]
fstp dword [eax + 0x58]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x58]
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 0x14]
mov dword [eax + 0x64], edi
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x48], edi
mov edx, dword [esp + 0x14]
mov dword [edx + 0x2c], edi
mov eax, dword [esp + 0x14]
mov dword [eax + 0x10], edi
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, 0x620cd0
call fcn.0040d2f0
push 2
push ebx
push 6
mov ecx, 0x620cd0
call fcn.0040d710
lea edx, [ebp + ebp*2 + 0x18]
mov al, byte [esi + edx*4]
lea ebx, [esi + edx*4]
test al, 1
je 0x452968
mov edx, dword [esi + 0xc]
mov eax, dword [0x620cd4]
mov edx, dword [edx + 8]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0xf4]
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x10]
push 0
push eax
push 0x70
push 0x11f0
push ecx
mov ecx, 0x620cd0
call fcn.0040d2b0
fld dword [esp + 0x24]
fsub dword [0x58876c]
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x54]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov ecx, dword [eax + 0x54]
fadd dword [0x58876c]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x38]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
mov ecx, dword [eax + 0x38]
fadd dword [0x5883d4]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x20]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
mov ecx, dword [eax + 0x20]
fadd dword [0x588c9c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x58]
mov eax, dword [esp + 0x10]
lea edx, [ebp + ebp*2]
fld dword [esp + 0x44]
mov ecx, dword [eax + 0x58]
lea edi, [esi + edx*4]
mov dword [eax + 0x3c], ecx
fmul dword [edi + 0x68]
fmul dword [0x58860c]
call fcn.005755f0
mov ecx, dword [esp + 0x10]
and eax, 0xff
shl eax, 0x18
or eax, 0xffffff
mov dword [ecx + 0x64], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x64]
mov dword [eax + 0x48], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x48]
mov dword [eax + 0x2c], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x2c]
mov dword [eax + 0x10], edx
mov eax, dword [edi + 0x64]
and eax, 0xf
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
fild qword [esp + 0x6c]
mov edx, dword [esp + 0x10]
fmul dword [0x588cb0]
fstp dword [edx + 0x68]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x68]
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x10]
fld dword [eax + 0x14]
fadd dword [0x588cb0]
fstp dword [eax + 0x4c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
push 1
mov edx, dword [eax + 0x4c]
mov dword [eax + 0x30], edx
mov eax, dword [edi + 0x64]
shr eax, 4
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
fild qword [esp + 0x68]
fmul dword [0x588cb0]
fstp dword [ecx + 0x34]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x34]
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x14]
fld dword [eax + 0x18]
fadd dword [0x588cb0]
fstp dword [eax + 0x6c]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x6c]
mov dword [eax + 0x50], ecx
mov edx, dword [esi + 0x10]
push edx
mov ecx, 0x620cd0
call fcn.0040d2f0
push 2
push 0xa4
push 6
mov ecx, 0x620cd0
call fcn.0040d710
test byte [ebx], 2
je 0x452914
mov edx, dword [esi + 8]
mov eax, dword [0x620cd4]
mov edx, dword [edx + 8]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0xf4]
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x10]
push 0
push eax
push 0x70
push 0x1110
push ecx
mov ecx, 0x620cd0
call fcn.0040d2b0
mov edx, dword [esp + 0x10]
mov eax, 0x3e563d82
fld dword [esp + 0x24]
fsub dword [0x588704]
mov dword [edx + 0xa4], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x88], eax
mov edx, dword [esp + 0x10]
fstp dword [edx + 0xc4]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov ecx, dword [eax + 0xc4]
mov dword [eax + 0x70], ecx
mov eax, dword [esp + 0x10]
fadd dword [0x5887bc]
mov edx, dword [eax + 0x70]
mov dword [eax + 0x54], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x54]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0xa8]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
mov ecx, dword [eax + 0xa8]
mov dword [eax + 0x8c], ecx
mov eax, dword [esp + 0x10]
fadd dword [0x588c90]
mov edx, dword [eax + 0x8c]
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0x90]
mov eax, dword [esp + 0x10]
fld dword [esp + 0x28]
mov ecx, dword [eax + 0x90]
mov dword [eax + 0x74], ecx
mov eax, dword [esp + 0x10]
fadd dword [0x588700]
mov edx, dword [eax + 0x74]
mov dword [eax + 0x20], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x10]
fstp dword [edx + 0xc8]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc8]
mov dword [eax + 0xac], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xac]
mov dword [eax + 0x58], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x58]
mov dword [eax + 0x3c], ecx
fld dword [edi + 0x68]
fmul dword [0x58860c]
call fcn.005755f0
mov edx, dword [esp + 0x10]
and eax, 0xff
shl eax, 0x18
or eax, 0xffffff
mov dword [edx + 0xd4], eax
mov eax, dword [esp + 0x10]
push 1
mov ecx, dword [eax + 0xd4]
mov dword [eax + 0xb8], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xb8]
mov dword [eax + 0x9c], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x9c]
mov dword [eax + 0x80], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x80]
mov dword [eax + 0x64], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x64]
mov dword [eax + 0x48], ecx
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x48]
mov dword [eax + 0x2c], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x10]
push edx
mov ecx, 0x620cd0
call fcn.0040d2f0
mov al, byte [esi + ebp + 0x1c]
push 2
test al, al
je 0x452903
push 0x9c
push 6
mov ecx, 0x620cd0
call fcn.0040d710
push 2
push 0xa0
push 6
mov ecx, 0x620cd0
call fcn.0040d710
mov edx, dword [esi + 4]
mov eax, dword [0x620cd4]
mov edx, dword [edx + 8]
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0xf4]
fld dword [edi + 0x68]
fsub dword [0x5888f4]
fst dword [edi + 0x68]
fcomp dword [0x588314]
fnstsw ax
test ah, 0x41
je 0x452947
mov byte [ebx], 0
fld dword [edi + 0x68]
fmul dword [0x588998]
call fcn.005755f0
and eax, 0x8000000f
jns 0x452961
dec eax
or eax, 0xfffffff0
inc eax
jne 0x452968
xor byte [esi + ebp + 0x1c], 1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
add ecx, 0x10
dec eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x54], eax
jne 0x451ddc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x190
ret