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

Disassembly:
sub esp, 0x15c
mov eax, dword [esp + 0x160]
push ebx
push ebp
push esi
lea ecx, [eax + 0x18]
xor edx, edx
push edi
mov edi, dword [0x64fa24]
mov esi, dword [ecx]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], edx
mov esi, dword [ecx + 4]
mov dword [esp + 0x14], esi
mov ecx, dword [ecx + 8]
mov dword [esp + 0x18], ecx
lea ecx, [eax + 0x24]
add eax, 0x40
mov esi, dword [ecx]
mov dword [esp + 0x1c], esi
mov esi, dword [ecx + 4]
mov dword [esp + 0x20], esi
mov esi, dword [0x64fa28]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov ecx, 0xb03838
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov eax, 0x461c3c00
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov ebp, dword [0x64fa20]
lea eax, [esp + edx + 0x13c]
mov ebx, eax
add ecx, 0xd78
mov dword [ebx], ebp
mov dword [ebx + 4], edi
mov dword [ebx + 8], esi
mov ebp, dword [eax]
lea ebx, [esp + edx + 0x10c]
add edx, 0xc
mov dword [ebx], ebp
mov ebp, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebx + 4], ebp
mov dword [ebx + 8], eax
mov eax, dword [ecx - 0xd78]
and al, 0xfb
cmp ecx, 0xb06e18
mov dword [ecx - 0xd78], eax
jl 0x5125ca
mov ebx, dword [esp + 0x170]
mov eax, dword [ebx + 0x54]
and al, 0xfe
mov dword [ebx + 0x54], eax
fild dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
fst dword [esp + 0x28]
fcomp dword [ebx + 0x30]
fnstsw ax
test ah, 0x41
jne 0x512645
cmp esi, 2
jge 0x512fab
fld dword [0xd9711c]
fcomp dword [0x634190]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
fnstsw ax
test ah, 0x40
jne 0x5126f7
fld dword [0xd9711c]
fmul dword [ebx + 0x70]
mov edx, dword [0xd9711c]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x104]
fsubr dword [esp + 0x24]
push eax
push ecx
fstp dword [esp + 0x2c]
fld dword [0xd9711c]
fmul dword [esp + 0x3c]
fadd dword [esp + 0x28]
fld dword [0xd9711c]
fmul dword [esp + 0x44]
fadd dword [esp + 0x30]
fld dword [0xd9711c]
fmul qword [0x634228]
fsubr qword [0x634180]
fld dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x44]
fmul st(1)
fstp dword [esp + 0x44]
fxch st(2)
fmul st(2)
fstp dword [esp + 0x28]
fmul st(1)
fstp dword [esp + 0x30]
fstp st(0)
call fcn.004029b9
lea edx, [esp + 0x10c]
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.00401203
add esp, 0x14
jmp 0x51275c
fld dword [esp + 0x20]
fsub dword [ebx + 0x70]
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x10]
push ecx
push edx
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fadd dword [esp + 0x38]
fld dword [esp + 0x2c]
fadd dword [esp + 0x40]
fstp dword [esp + 0x2c]
fld dword [esp + 0x38]
fmul qword [0x64a318]
fstp dword [esp + 0x38]
fld dword [esp + 0x40]
fmul qword [0x64a318]
fstp dword [esp + 0x40]
fmul qword [0x64a318]
fstp dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul qword [0x64a318]
fstp dword [esp + 0x2c]
call fcn.00401203
add esp, 8
fld dword [esp + 0x14]
fcomp qword [0x644848]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x512828
fld dword [esp + 0x28]
fcomp dword [ebx + 0x30]
fnstsw ax
test ah, 0x40
je 0x512796
mov edi, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x54]
inc edi
or al, 1
mov dword [ebx + 0x4c], edi
mov dword [ebx + 0x54], eax
mov eax, dword [0x64fa20]
inc esi
mov dword [esp + 0x30], eax
mov eax, dword [0x64fa24]
mov dword [esp + 0x34], eax
mov eax, dword [0x64fa28]
cmp esi, 1
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], eax
jne 0x5127c0
lea eax, [ebx + 0x58]
jmp 0x5127c8
cmp esi, 2
jne 0x5127d4
lea eax, [ebx + 0x64]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov ecx, dword [0x6b8278]
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x14], 0x3eb33333
lea edx, [ecx + ecx*8]
lea eax, [eax + eax*2]
shl eax, 3
lea ecx, [ecx + edx*8]
shl ecx, 2
fld dword [ecx + 0x6527a8]
fmul dword [eax + 0x652464]
fmul dword [esp + 0x20]
fchs
fstp dword [esp + 0x20]
fld dword [ecx + 0x6527ac]
fmul dword [eax + 0x652468]
fld st(0)
fmul dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fmul dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fcomp dword [ebx + 0x30]
mov ebp, dword [esp + 0x14]
fnstsw ax
test ah, 0x40
je 0x512866
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea eax, [ebx + 0xc]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ebp
mov dword [eax + 8], edx
mov edx, dword [esp + 0x20]
lea eax, [ebx + 0x34]
mov dword [ebx + 0x34], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x3c]
cmp eax, 0x12c
jge 0x512890
lea edx, [eax + eax*2]
mov dword [0xd5173c], eax
lea ecx, [edx*4 + 0xd517c0]
mov edx, dword [esp + 0x10]
mov dword [ecx], edx
mov edx, dword [esp + 0x18]
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
fld dword [esp + 0x28]
fcomp dword [ebx + 0x30]
fnstsw ax
test ah, 0x41
jne 0x512e27
mov eax, dword [0xcdc900]
xor edi, edi
test eax, eax
jle 0x512e27
mov esi, 0xb03888
xor ebp, ebp
mov edx, dword [esi - 0x50]
test dh, 1
je 0x512b11
mov eax, dword [esi + 0xac]
lea eax, [eax + eax*2]
test dword [eax*8 + 0x652474], 0x40000
je 0x5129fa
mov eax, dword [esp + edi*4 + 0x90]
test eax, eax
jne 0x512db0
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512905
mov ecx, 1
jmp 0x51291d
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x51291b
or ecx, 0xffffffff
jmp 0x51291d
xor ecx, ecx
fld dword [esi - 0xb0]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512937
mov eax, 1
jmp 0x512951
fld dword [esi - 0xb0]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x51294f
or eax, 0xffffffff
jmp 0x512951
xor eax, eax
neg eax
cmp ecx, eax
jne 0x512db0
fld dword [esp + 0x18]
fsub dword [esi]
fcom dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512977
fstp st(0)
mov ecx, 1
jmp 0x51298b
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512989
or ecx, 0xffffffff
jmp 0x51298b
xor ecx, ecx
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x5129a3
mov eax, 1
jmp 0x5129bb
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x5129b9
or eax, 0xffffffff
jmp 0x5129bb
xor eax, eax
neg eax
cmp ecx, eax
je 0x512db0
test dh, 0x40
je 0x5129d8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esi - 8], ecx
mov dword [esi - 4], edx
fld dword [esp + 0x28]
fsub dword [ebx + 0x30]
call fcn.005f5950
mov dword [esi + 0xa4], eax
mov dword [esp + edi*4 + 0x90], 1
jmp 0x512db0
mov eax, dword [esp + edi*4 + 0x4c]
test eax, eax
jne 0x512db0
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512a1e
mov ecx, 1
jmp 0x512a36
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512a34
or ecx, 0xffffffff
jmp 0x512a36
xor ecx, ecx
fld dword [esi - 0xb0]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512a50
mov eax, 1
jmp 0x512a6a
fld dword [esi - 0xb0]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512a68
or eax, 0xffffffff
jmp 0x512a6a
xor eax, eax
neg eax
cmp ecx, eax
jne 0x512db0
fld dword [esp + 0x18]
fsub dword [esi - 0xc]
fcom dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512a91
fstp st(0)
mov ecx, 1
jmp 0x512aa5
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512aa3
or ecx, 0xffffffff
jmp 0x512aa5
xor ecx, ecx
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512abd
mov eax, 1
jmp 0x512ad5
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512ad3
or eax, 0xffffffff
jmp 0x512ad5
xor eax, eax
neg eax
cmp ecx, eax
je 0x512db0
test dh, 0x40
je 0x512af2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esi - 0x14], eax
mov dword [esi - 0x10], ecx
fld dword [esp + 0x28]
fsub dword [ebx + 0x30]
call fcn.005f5950
mov dword [esi + 0xa0], eax
mov dword [esp + edi*4 + 0x4c], 1
jmp 0x512db0
mov eax, dword [esp + edi*4 + 0xf0]
mov ecx, 1
test eax, eax
jne 0x512b65
cmp dword [esp + 0x2c], ecx
jne 0x512b65
fld dword [esp + 0x20]
fcomp dword [0x634198]
fnstsw ax
test cl, ah
je 0x512b65
fld dword [esp + 0x14]
fcomp dword [0x6341bc]
fnstsw ax
test cl, ah
je 0x512b65
mov eax, dword [esp + 0x10]
lea edx, [esi + 4]
mov dword [esp + edi*4 + 0xf0], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov eax, dword [esp + edi*4 + 0xb0]
test eax, eax
jne 0x512bb6
cmp dword [esp + 0x2c], ecx
jne 0x512bb6
fld dword [esp + 0x5c]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
jne 0x512bb6
fld dword [esp + 0x20]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512bb6
mov eax, dword [esp + 0x10]
lea edx, [esi + 0x10]
mov dword [esp + edi*4 + 0xb0], ecx
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
fld dword [esp + 0x18]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512bce
mov ecx, 1
jmp 0x512be6
fld dword [esp + 0x18]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512be4
or ecx, 0xffffffff
jmp 0x512be6
xor ecx, ecx
fld dword [esi - 0xc0]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512c00
mov eax, 1
jmp 0x512c1a
fld dword [esi - 0xc0]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512c18
or eax, 0xffffffff
jmp 0x512c1a
xor eax, eax
cmp ecx, eax
jne 0x512cae
fld dword [esp + 0x14]
fcomp dword [0x6460d4]
fnstsw ax
test ah, 1
je 0x512cae
fld dword [esp + 0x14]
fcomp dword [0x6447d0]
fnstsw ax
test ah, 0x41
jne 0x512cae
fld dword [esi - 0xc0]
fsub dword [esp + 0x18]
fabs
fld dword [esp + edi*4 + 0x60]
fcompp
fnstsw ax
test ah, 0x41
jne 0x512cae
fld dword [esp + 0x28]
fsub dword [ebx + 0x30]
call fcn.005f5950
mov edx, dword [esp + 0x10]
lea ecx, [esp + ebp + 0x10c]
fld dword [esi - 0xc0]
fsub dword [esp + 0x18]
mov dword [esp + edi*4 + 0x80], eax
mov eax, dword [esp + 0x14]
mov dword [ecx], edx
mov edx, dword [esp + 0x18]
fabs
mov dword [ecx + 4], eax
mov eax, dword [esi - 0x50]
fstp dword [esp + edi*4 + 0x60]
or al, 4
mov dword [ecx + 8], edx
mov dword [esi - 0x50], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + edi*4 + 0xa0], eax
fld dword [esp + 0x18]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512cc6
mov ecx, 1
jmp 0x512cde
fld dword [esp + 0x18]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512cdc
or ecx, 0xffffffff
jmp 0x512cde
xor ecx, ecx
fld dword [esi - 0xc0]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512cf8
mov eax, 1
jmp 0x512d12
fld dword [esi - 0xc0]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512d10
or eax, 0xffffffff
jmp 0x512d12
xor eax, eax
cmp ecx, eax
jne 0x512db0
fld dword [esp + 0x14]
fcomp dword [0x6460d4]
fnstsw ax
test ah, 1
je 0x512db0
fld dword [esp + 0x14]
fcomp dword [0x644fc0]
fnstsw ax
test ah, 0x41
jne 0x512db0
fld dword [esi - 0xc0]
fsub dword [esp + 0x18]
fabs
fld dword [esp + edi*4 + 0xd0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x512db0
fld dword [esp + 0x28]
fsub dword [ebx + 0x30]
call fcn.005f5950
mov edx, dword [esp + 0x10]
lea ecx, [esp + ebp + 0x13c]
fld dword [esi - 0xc0]
fsub dword [esp + 0x18]
mov dword [esp + edi*4 + 0xc0], eax
mov eax, dword [esp + 0x14]
mov dword [ecx], edx
mov edx, dword [esp + 0x18]
fabs
mov dword [ecx + 4], eax
mov eax, dword [esi - 0x50]
fstp dword [esp + edi*4 + 0xd0]
or al, 4
mov dword [ecx + 8], edx
mov dword [esi - 0x50], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + edi*4 + 0xe0], eax
mov eax, dword [0xcdc900]
add esi, 0xd78
inc edi
add ebp, 0xc
cmp edi, eax
jl 0x5128b8
mov ebp, dword [esp + 0x14]
mov edx, 1
mov eax, dword [0xcdc900]
xor edi, edi
test eax, eax
jle 0x512fa2
mov esi, 0xb03894
mov eax, dword [esi - 0x5c]
test ah, 1
jne 0x512f8e
mov eax, dword [esp + edi*4 + 0x70]
test eax, eax
jne 0x512e71
fld dword [esi - 0xcc]
fabs
fld dword [esi]
fabs
fcompp
fnstsw ax
test ah, 1
je 0x512e2e
lea ecx, [esi - 8]
mov eax, dword [esi - 8]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x44], eax
mov ecx, dword [ecx + 8]
mov dword [esp + 0x48], ecx
jmp 0x512e4c
mov edx, 1
jmp 0x512dd0
lea eax, [esi - 0xd4]
mov ecx, dword [esi - 0xd4]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
fld dword [esp + 0x18]
fsub dword [esp + 0x48]
fabs
fcomp qword [0x646350]
fnstsw ax
test ah, 1
je 0x512e71
mov ecx, dword [esp + 0x3c]
mov dword [esp + edi*4 + 0x70], edx
mov dword [esi + 0x174], ecx
mov eax, dword [esp + edi*4 + 0x4c]
test eax, eax
jne 0x512f8e
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512e92
mov ecx, edx
jmp 0x512eaa
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512ea8
or ecx, 0xffffffff
jmp 0x512eaa
xor ecx, ecx
fld dword [esi - 0xbc]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512ec1
mov eax, edx
jmp 0x512edb
fld dword [esi - 0xbc]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512ed9
or eax, 0xffffffff
jmp 0x512edb
xor eax, eax
neg eax
cmp ecx, eax
jne 0x512f8e
fld dword [esp + 0x18]
fsub dword [esi - 0xcc]
fcom dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512f02
fstp st(0)
mov ecx, edx
jmp 0x512f16
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512f14
or ecx, 0xffffffff
jmp 0x512f16
xor ecx, ecx
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512f2b
mov eax, edx
jmp 0x512f43
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x512f41
or eax, 0xffffffff
jmp 0x512f43
xor eax, eax
neg eax
cmp ecx, eax
je 0x512f8e
fld dword [esp + 0x28]
fsub dword [ebx + 0x30]
fcom dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x512f6f
call fcn.005f5950
mov dword [esi + 0x94], eax
mov edx, 1
jmp 0x512f77
fstp st(0)
mov dword [esi + 0x94], edx
mov ecx, dword [esp + 0x10]
lea eax, [esi - 0x20]
mov dword [esp + edi*4 + 0x4c], edx
mov dword [eax], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
mov eax, dword [0xcdc900]
add esi, 0xd78
inc edi
cmp edi, eax
jl 0x512de4
inc dword [esp + 0x3c]
jmp 0x512626
mov eax, dword [0xcdc900]
xor edi, edi
test eax, eax
jle 0x5131a2
mov esi, 0xb03994
xor ebp, ebp
mov eax, dword [esi - 0x15c]
test ah, 1
jne 0x51318b
test al, 4
je 0x513049
fld dword [esp + edi*4 + 0x60]
fcomp dword [0x654b2c]
fnstsw ax
test ah, 1
je 0x513017
lea edx, [esp + ebp + 0x10c]
lea eax, [esi - 0x114]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + edi*4 + 0xa0]
mov edx, dword [edx + 8]
mov dword [esi], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + edi*4 + 0x80]
mov dword [esi - 0x68], eax
jmp 0x51306b
lea edx, [esp + ebp + 0x13c]
lea eax, [esi - 0x114]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + edi*4 + 0xe0]
mov edx, dword [edx + 8]
mov dword [esi], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + edi*4 + 0xc0]
mov dword [esi - 0x68], eax
jmp 0x51306b
mov edx, dword [esi - 0x6c]
lea eax, [esi - 0x120]
mov dword [esi - 0x68], edx
lea ecx, [esi - 0x114]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x513083
mov ecx, 1
jmp 0x51309b
fld dword [esp + 0x24]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x513099
or ecx, 0xffffffff
jmp 0x51309b
xor ecx, ecx
fld dword [esi - 0x1bc]
fcomp dword [0x634198]
fnstsw ax
test ah, 0x41
jne 0x5130b5
mov eax, 1
jmp 0x5130cf
fld dword [esi - 0x1bc]
fcomp dword [0x634198]
fnstsw ax
test ah, 1
je 0x5130cd
or eax, 0xffffffff
jmp 0x5130cf
xor eax, eax
neg eax
cmp ecx, eax
jne 0x51318b
mov eax, dword [esp + edi*4 + 0x4c]
test eax, eax
jne 0x51318b
push 0
push 0
lea ecx, [esp + 0x48]
push 0x3f800000
push ecx
call fcn.00403cba
mov ecx, dword [eax]
add esp, 4
mov edx, esp
sub esp, 0xc
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], ecx
lea ecx, [esi - 0x1d4]
mov dword [edx + 8], eax
mov edx, esp
mov eax, dword [ecx]
sub esp, 0xc
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, esp
mov ecx, dword [ecx + 8]
sub esp, 0xc
mov dword [edx + 8], ecx
lea edx, [ebx + 0x34]
add ebx, 0xc
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx]
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov edx, dword [ebx + 4]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 4], edx
lea edx, [esp + 0x60]
push edx
mov dword [eax + 8], ecx
call fcn.00402df6
mov edx, eax
lea ebx, [esi - 0x120]
add esp, 0x34
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [ebx], eax
mov dword [esi - 0x6c], 1
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov ebx, dword [esp + 0x170]
mov eax, dword [0xcdc900]
add esi, 0xd78
inc edi
add ebp, 0xc
cmp edi, eax
jl 0x512fc1
push ebx
call fcn.004022ca
mov al, byte [ebx + 0x54]
add esp, 4
test al, 1
je 0x5131d3
cmp dword [ebx + 0x4c], 1
jne 0x5131c1
push ebx
call fcn.00401f0f
add esp, 4
mov eax, dword [0xc464bc]
test eax, eax
je 0x5131d3
push ebx
call fcn.00403639
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x15c
ret