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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5efd26
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x19e8
call fcn.005a3770
push ebx
push ebp
push esi
push edi
mov eax, dword [0x676890]
xor eax, esp
push eax
lea eax, [esp + 0x1a00]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x38], esi
mov eax, dword [esi + 0x44]
xor ebx, ebx
mov dword [esp + 0x50], ebx
cmp eax, 1
ja 0x4cb0c5
xor al, al
mov ecx, dword [esp + 0x1a00]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x24c]
call fcn.0044a600
lea ecx, [esp + 0x98]
mov dword [esp + 0x1a08], ebx
call fcn.0044a600
fld dword [esi + 0x60]
lea edi, [esi + 0x28]
fstp qword [esp + 0x2c]
mov ecx, edi
mov byte [esp + 0x1a08], 1
call fcn.00529b60
fld dword [eax]
fcomp qword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x4cb10f
fld dword [esi + 0x60]
jmp 0x4cb118
mov ecx, edi
call fcn.00529b60
fld dword [eax]
mov esi, dword [esi + 0x44]
fstp dword [esp + 0x54]
fldz
dec esi
lea eax, [esi + esi*2]
fst dword [esp + 0x218]
lea ecx, [esp + eax*4 + 0x28c]
fst dword [esp + 0x21c]
fstp dword [esp + 0x220]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x224], ecx
cmp dword [esp + 0x4c], 0
fld qword [0x5fe2b8]
fld1
je 0x4cb177
mov eax, dword [esp + 0x38]
add eax, 0x28
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x64], eax
jmp 0x4cb18d
mov edx, dword [esp + 0x38]
add edx, 8
lea ecx, [esp + 0x24c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x18], 0
jle 0x4cb503
fstp st(1)
fstp st(0)
mov ebp, dword [esp + 0x1c]
mov edi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
add edx, edi
cmp edi, edx
jbe 0x4cb1b9
call fcn.005a01dd
mov esi, dword [ebp]
mov ebx, esi
mov dword [esp + 0x30], edi
test esi, esi
jne 0x4cb1e9
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
lea edi, [edi + edx + 1]
cmp edi, ecx
ja 0x4cb1f6
test esi, esi
je 0x4cb1ef
mov esi, dword [esi]
jmp 0x4cb1f1
mov eax, dword [esi]
mov ecx, eax
jmp 0x4cb1cf
xor esi, esi
cmp edi, dword [esi + 0x18]
jae 0x4cb1fb
call fcn.005a01dd
test ebx, ebx
jne 0x4cb21f
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp edi, edx
jb 0x4cb217
call fcn.005a01dd
test ebx, ebx
je 0x4cb225
mov eax, dword [ebx]
jmp 0x4cb227
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb208
xor eax, eax
cmp dword [eax + 0x14], edi
ja 0x4cb239
test ebx, ebx
je 0x4cb234
mov eax, dword [ebx]
jmp 0x4cb236
xor eax, eax
sub edi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb241
mov eax, dword [ebx]
jmp 0x4cb243
xor eax, eax
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + edi*4]
add edx, esi
mov dword [esp + 0x28], ecx
cmp esi, edx
jbe 0x4cb25e
call fcn.005a01dd
mov edi, dword [ebp]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4cb28c
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x4cb299
test edi, edi
je 0x4cb292
mov edi, dword [edi]
jmp 0x4cb294
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cb274
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cb29e
call fcn.005a01dd
test ebx, ebx
jne 0x4cb2c2
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4cb2ba
call fcn.005a01dd
test ebx, ebx
je 0x4cb2c8
mov eax, dword [ebx]
jmp 0x4cb2ca
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb2ab
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cb2dc
test ebx, ebx
je 0x4cb2d7
mov eax, dword [ebx]
jmp 0x4cb2d9
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb2e4
mov eax, dword [ebx]
jmp 0x4cb2e6
xor eax, eax
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0x10]
fld dword [ecx]
mov eax, dword [edx + esi*4]
mov esi, dword [ebp + 0x18]
fsub dword [eax]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [esp + 0x18]
add edx, esi
fstp dword [esp + ecx*4 + 0x109c]
cmp esi, edx
jbe 0x4cb310
call fcn.005a01dd
mov edi, dword [ebp]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4cb33e
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x4cb34b
test edi, edi
je 0x4cb344
mov edi, dword [edi]
jmp 0x4cb346
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cb326
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cb350
call fcn.005a01dd
test ebx, ebx
jne 0x4cb374
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4cb36c
call fcn.005a01dd
test ebx, ebx
je 0x4cb37a
mov eax, dword [ebx]
jmp 0x4cb37c
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb35d
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cb38e
test ebx, ebx
je 0x4cb389
mov eax, dword [ebx]
jmp 0x4cb38b
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb396
mov eax, dword [ebx]
jmp 0x4cb398
xor eax, eax
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + esi*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4cb3b3
call fcn.005a01dd
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4cb3e6
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, dword [eax + 0x18]
lea esi, [esi + edx + 1]
cmp esi, ecx
ja 0x4cb3f3
test edi, edi
je 0x4cb3ec
mov edi, dword [edi]
jmp 0x4cb3ee
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cb3cc
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cb3fc
call fcn.005a01dd
mov edx, dword [esp + 0x18]
test ebx, ebx
jne 0x4cb428
call fcn.005a01dd
mov edx, dword [esp + 0x18]
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
jb 0x4cb420
call fcn.005a01dd
mov edx, dword [esp + 0x18]
test ebx, ebx
je 0x4cb42e
mov eax, dword [ebx]
jmp 0x4cb430
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb40d
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cb442
test ebx, ebx
je 0x4cb43d
mov eax, dword [ebx]
jmp 0x4cb43f
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb44a
mov eax, dword [ebx]
jmp 0x4cb44c
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
fld dword [eax + 4]
add eax, 4
fsub dword [ebp + 4]
fstp dword [esp + 0x1ac]
fld dword [eax + 4]
fsub dword [ebp + 8]
fstp dword [esp + 0x1b0]
fld dword [eax + 8]
lea eax, [edx + edx*2]
fsub dword [ebp + 0xc]
lea eax, [esp + eax*4 + 0x28c]
fstp dword [esp + 0x1b4]
fld dword [esp + edx*4 + 0x109c]
fdivr qword [0x5fe580]
fstp dword [esp + 0x28]
fld dword [esp + 0x1ac]
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xd4]
mov ecx, dword [esp + 0xd4]
mov dword [eax], ecx
fld st(0)
fmul dword [esp + 0x1b0]
fstp dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
fmul dword [esp + 0x1b4]
fstp dword [esp + 0xdc]
mov ecx, dword [esp + 0xdc]
mov dword [eax + 8], ecx
lea eax, [edx + 1]
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
jl 0x4cb1a4
fld qword [0x5fe2b8]
fld1
mov edx, dword [esp + 0x224]
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov edi, dword [esp + 0x3c]
mov dword [edx], eax
mov eax, dword [esp + 0x220]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov ecx, edi
test edi, edi
jle 0x4cb557
lea eax, [edx - 4]
fld dword [eax - 8]
dec ecx
fadd dword [eax + 4]
sub eax, 0xc
fstp dword [eax + 0x10]
fld dword [eax + 8]
fadd dword [eax + 0x14]
fstp dword [eax + 0x14]
fld dword [eax + 0x18]
fadd dword [eax + 0xc]
fstp dword [eax + 0x18]
test ecx, ecx
jg 0x4cb534
fld dword [0x5fdf70]
mov esi, dword [esp + 0x50]
fst dword [esp + 0x24]
inc esi
cmp edi, 1
fld dword [esp + 0x28c]
fmul st(3)
mov dword [esp + 0x50], esi
fstp dword [esp + 0x28c]
fld dword [esp + 0x290]
fmul st(3)
fstp dword [esp + 0x290]
fld dword [esp + 0x294]
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x294]
fxch st(1)
fstp dword [esp + esi*4 + 0x1548]
fld dword [esp + 0x24]
jle 0x4cb613
lea eax, [esp + 0x29c]
lea ecx, [edi - 1]
fld dword [eax - 4]
inc esi
fsub dword [eax - 0x10]
add eax, 0xc
sub ecx, 1
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fsub dword [eax - 0x18]
fstp dword [eax - 0xc]
fld dword [eax - 8]
fsub dword [eax - 0x14]
fstp dword [eax - 8]
fsubr qword [0x5fe590]
fdivr st(1)
fstp dword [esp + 0x24]
fld dword [eax - 0x10]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [eax - 0x10]
fld dword [eax - 0xc]
fmul st(1)
fstp dword [eax - 0xc]
fld st(0)
fmul dword [eax - 8]
fstp dword [eax - 8]
fst dword [esp + esi*4 + 0x1548]
jne 0x4cb5b8
mov dword [esp + 0x50], esi
fld dword [edx]
lea ecx, [edi - 1]
fsub dword [edx - 0xc]
fstp dword [edx]
fld dword [edx + 4]
fsub dword [edx - 8]
fstp dword [edx + 4]
fld dword [edx + 8]
fsub dword [edx - 4]
fstp dword [edx + 8]
fsubr qword [0x5fe598]
fdivp st(1)
fstp dword [esp + 0x24]
fld dword [edx]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [edx]
fld dword [edx + 4]
fmul st(1)
fstp dword [edx + 4]
fmul dword [edx + 8]
fstp dword [edx + 8]
test ecx, ecx
jl 0x4cb6d9
lea eax, [ecx + ecx*2]
lea eax, [esp + eax*4 + 0x290]
jmp 0x4cb670
fld dword [esp + esi*4 + 0x1548]
dec esi
fstp dword [esp + 0x28]
dec ecx
fld dword [eax + 8]
sub eax, 0xc
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xec]
fld dword [eax + 0x18]
fmul st(1)
fstp dword [esp + 0xf0]
fmul dword [eax + 0x1c]
fstp dword [esp + 0xf4]
fld dword [eax + 8]
fsub dword [esp + 0xec]
fstp dword [eax + 8]
fld dword [eax + 0xc]
fsub dword [esp + 0xf0]
fstp dword [eax + 0xc]
fld dword [eax + 0x10]
fsub dword [esp + 0xf4]
fstp dword [eax + 0x10]
test ecx, ecx
jge 0x4cb670
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
mov dword [esp + 0x24], 0
cmp esi, ecx
jbe 0x4cb6f6
call fcn.005a01dd
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4cb721
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
ja 0x4cb72e
test edi, edi
je 0x4cb727
mov edi, dword [edi]
jmp 0x4cb729
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cb70f
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cb733
call fcn.005a01dd
test ebx, ebx
jne 0x4cb757
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4cb74f
call fcn.005a01dd
test ebx, ebx
je 0x4cb75d
mov eax, dword [ebx]
jmp 0x4cb75f
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb740
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cb771
test ebx, ebx
je 0x4cb76c
mov eax, dword [ebx]
jmp 0x4cb76e
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb779
mov eax, dword [ebx]
jmp 0x4cb77b
xor eax, eax
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + esi*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4cb796
call fcn.005a01dd
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x30], esi
test edi, edi
jne 0x4cb7c2
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
inc esi
cmp esi, ecx
ja 0x4cb7cf
test edi, edi
je 0x4cb7c8
mov edi, dword [edi]
jmp 0x4cb7ca
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cb7af
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cb7d4
call fcn.005a01dd
test ebx, ebx
jne 0x4cb7f8
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4cb7f0
call fcn.005a01dd
test ebx, ebx
je 0x4cb7fe
mov eax, dword [ebx]
jmp 0x4cb800
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb7e1
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cb812
test ebx, ebx
je 0x4cb80d
mov eax, dword [ebx]
jmp 0x4cb80f
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb81a
mov eax, dword [ebx]
jmp 0x4cb81c
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
fld dword [eax + 4]
add eax, 4
fsub dword [ebp + 4]
mov ecx, dword [esp + 0x38]
fstp dword [esp + 0x8c]
fld dword [eax + 4]
fsub dword [ebp + 8]
fstp dword [esp + 0x90]
fld dword [eax + 8]
mov eax, dword [esp + 0x1c]
fsub dword [ebp + 0xc]
mov esi, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
add edx, esi
fstp dword [esp + 0x94]
fldz
fstp dword [esp + 0x28]
fld dword [esp + 0x109c]
fstp dword [esp + 0x40]
fld dword [ecx + 0x64]
fstp dword [esp + 0x2c]
cmp esi, edx
jbe 0x4cb87d
call fcn.005a01dd
mov eax, dword [esp + 0x1c]
mov edi, dword [eax]
mov ebx, edi
mov dword [esp + 0x48], esi
test edi, edi
jne 0x4cb8a8
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
cmp esi, ecx
ja 0x4cb8b5
test edi, edi
je 0x4cb8ae
mov edi, dword [edi]
jmp 0x4cb8b0
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cb896
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cb8ba
call fcn.005a01dd
test ebx, ebx
jne 0x4cb8de
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4cb8d6
call fcn.005a01dd
test ebx, ebx
je 0x4cb8e4
mov eax, dword [ebx]
jmp 0x4cb8e6
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cb8c7
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cb8f8
test ebx, ebx
je 0x4cb8f3
mov eax, dword [ebx]
jmp 0x4cb8f5
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cb900
mov eax, dword [ebx]
jmp 0x4cb902
xor eax, eax
fld dword [esp + 0x109c]
mov eax, dword [eax + 0x10]
fld st(0)
mov eax, dword [eax + esi*4]
fadd st(1)
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
add eax, 4
fstp dword [esp + 0x20]
mov eax, dword [eax + 8]
fld dword [esp + 0x28c]
mov dword [esp + 0x80], ecx
fld st(0)
mov ecx, dword [esp + 0x28c]
fld dword [esp + 0x20]
mov dword [esp + 0x84], edx
fld st(0)
mov edx, dword [esp + 0x290]
fmulp st(2)
mov dword [esp + 0x88], eax
fxch st(1)
mov eax, dword [esp + 0x294]
mov dword [esp + 0x68], ecx
fstp dword [esp + 0x11c]
mov dword [esp + 0x6c], edx
fld dword [esp + 0x290]
mov dword [esp + 0x70], eax
fld st(0)
fmul st(2)
fstp dword [esp + 0x120]
fld dword [esp + 0x294]
fld st(0)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x124]
fld dword [esp + 0x298]
fld st(0)
fmul st(5)
fstp dword [esp + 0x104]
fld st(4)
fmul dword [esp + 0x29c]
fstp dword [esp + 0x108]
fld st(4)
fmul dword [esp + 0x2a0]
fstp dword [esp + 0x10c]
fld dword [esp + 0x8c]
fld qword [0x5fe580]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c4]
fld dword [esp + 0x90]
fmul st(1)
fstp dword [esp + 0x1c8]
fmul dword [esp + 0x94]
fstp dword [esp + 0x1cc]
fld dword [esp + 0x1c4]
fsub dword [esp + 0x104]
fstp dword [esp + 0x234]
fld dword [esp + 0x1c8]
fsub dword [esp + 0x108]
fstp dword [esp + 0x238]
fld dword [esp + 0x1cc]
fsub dword [esp + 0x10c]
fstp dword [esp + 0x23c]
fld dword [esp + 0x234]
fsub dword [esp + 0x11c]
fstp dword [esp + 0x1dc]
fld dword [esp + 0x238]
fsub dword [esp + 0x120]
fstp dword [esp + 0x1e0]
fld dword [esp + 0x23c]
fsub dword [esp + 0x124]
fstp dword [esp + 0x1e4]
fld st(4)
fmulp st(5)
fld1
fdiv st(5)
fstp dword [esp + 0x20]
fld dword [esp + 0x1dc]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
fld dword [esp + 0x1e0]
mov dword [esp + 0x58], ecx
fmul st(1)
fstp dword [esp + 0xb4]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x5c], edx
fmul dword [esp + 0x1e4]
fstp dword [esp + 0xb8]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x60], eax
faddp st(3)
fxch st(2)
fstp dword [esp + 0x200]
fld dword [esp + 0x29c]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x204]
fadd dword [esp + 0x2a0]
fstp dword [esp + 0x208]
fld dword [esp + 0x109c]
fld st(0)
fmul dword [esp + 0x200]
fstp dword [esp + 0x1f4]
fld st(0)
fmul dword [esp + 0x204]
fstp dword [esp + 0x1f8]
fld st(0)
fmul dword [esp + 0x208]
fstp dword [esp + 0x1fc]
fld dword [esp + 0x8c]
fld qword [0x6101e8]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x14c]
fld dword [esp + 0x90]
fmul st(1)
fstp dword [esp + 0x150]
fmul dword [esp + 0x94]
fstp dword [esp + 0x154]
fld dword [esp + 0x14c]
fadd dword [esp + 0x1f4]
fstp dword [esp + 0x164]
fld dword [esp + 0x150]
fadd dword [esp + 0x1f8]
fstp dword [esp + 0x168]
fld dword [esp + 0x154]
fadd dword [esp + 0x1fc]
fstp dword [esp + 0x16c]
fmulp st(1)
fld1
fdivrp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x164]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x228]
mov ecx, dword [esp + 0x228]
fld dword [esp + 0x168]
mov dword [esp + 0x74], ecx
fmul st(1)
fstp dword [esp + 0x22c]
mov edx, dword [esp + 0x22c]
mov dword [esp + 0x78], edx
fmul dword [esp + 0x16c]
fstp dword [esp + 0x230]
mov eax, dword [esp + 0x230]
fldz
mov dword [esp + 0x7c], eax
fstp dword [esp + 0x20]
fld dword [esp + 0x54]
fcomp qword [0x5fe250]
fnstsw ax
test ah, 1
jne 0x4cc4e3
fld dword [esp + 0x20]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4cc19d
mov eax, dword [esp + 0x24]
fstp dword [esp + 0x28]
inc eax
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
jge 0x4cc19f
mov esi, dword [esp + 0x1c]
fstp st(0)
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
add ecx, edi
cmp edi, ecx
jbe 0x4cbc78
call fcn.005a01dd
mov esi, dword [esi]
mov ebx, esi
mov dword [esp + 0x48], edi
test esi, esi
jne 0x4cbca5
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
add edi, edx
cmp edi, ecx
ja 0x4cbcb2
test esi, esi
je 0x4cbcab
mov esi, dword [esi]
jmp 0x4cbcad
mov eax, dword [esi]
mov ecx, eax
jmp 0x4cbc8d
xor esi, esi
cmp edi, dword [esi + 0x18]
jae 0x4cbcb7
call fcn.005a01dd
test ebx, ebx
jne 0x4cbcdb
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp edi, edx
jb 0x4cbcd3
call fcn.005a01dd
test ebx, ebx
je 0x4cbce1
mov eax, dword [ebx]
jmp 0x4cbce3
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cbcc4
xor eax, eax
cmp dword [eax + 0x14], edi
ja 0x4cbcf5
test ebx, ebx
je 0x4cbcf0
mov eax, dword [ebx]
jmp 0x4cbcf2
xor eax, eax
sub edi, dword [eax + 0x14]
test ebx, ebx
je 0x4cbcfd
mov eax, dword [ebx]
jmp 0x4cbcff
xor eax, eax
mov eax, dword [eax + 0x10]
mov ebp, dword [eax + edi*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4cbd1a
call fcn.005a01dd
mov edx, dword [esp + 0x1c]
mov edi, dword [edx]
mov ebx, edi
mov dword [esp + 0x48], esi
test edi, edi
jne 0x4cbd4d
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
lea esi, [esi + edx + 1]
cmp esi, ecx
ja 0x4cbd5a
test edi, edi
je 0x4cbd53
mov edi, dword [edi]
jmp 0x4cbd55
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cbd33
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cbd5f
call fcn.005a01dd
test ebx, ebx
jne 0x4cbd83
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
cmp esi, edx
jb 0x4cbd7b
call fcn.005a01dd
test ebx, ebx
je 0x4cbd89
mov eax, dword [ebx]
jmp 0x4cbd8b
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cbd6c
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cbd9d
test ebx, ebx
je 0x4cbd98
mov eax, dword [ebx]
jmp 0x4cbd9a
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cbda5
mov eax, dword [ebx]
jmp 0x4cbda7
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
fld dword [eax + 4]
add eax, 4
fsub dword [ebp + 4]
fstp dword [esp + 0x17c]
fld dword [eax + 4]
fsub dword [ebp + 8]
fstp dword [esp + 0x180]
fld dword [eax + 8]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
fsub dword [ebp + 0xc]
mov ecx, dword [eax + 0x1c]
add ecx, esi
fstp dword [esp + 0x184]
cmp esi, ecx
jbe 0x4cbdf0
call fcn.005a01dd
mov eax, dword [esp + 0x1c]
mov edi, dword [eax]
mov ebx, edi
mov dword [esp + 0x48], esi
test edi, edi
jne 0x4cbe1d
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x4cbe2a
test edi, edi
je 0x4cbe23
mov edi, dword [edi]
jmp 0x4cbe25
mov eax, dword [edi]
mov ecx, eax
jmp 0x4cbe05
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x4cbe2f
call fcn.005a01dd
test ebx, ebx
jne 0x4cbe53
call fcn.005a01dd
xor eax, eax
xor ecx, ecx
mov edx, dword [eax + 0x18]
add edx, dword [ecx + 0x1c]
cmp esi, edx
jb 0x4cbe4b
call fcn.005a01dd
test ebx, ebx
je 0x4cbe59
mov eax, dword [ebx]
jmp 0x4cbe5b
mov eax, dword [ebx]
mov ecx, eax
jmp 0x4cbe3c
xor eax, eax
cmp dword [eax + 0x14], esi
ja 0x4cbe6d
test ebx, ebx
je 0x4cbe68
mov eax, dword [ebx]
jmp 0x4cbe6a
xor eax, eax
sub esi, dword [eax + 0x14]
test ebx, ebx
je 0x4cbe75
mov eax, dword [ebx]
jmp 0x4cbe77
xor eax, eax
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi*4]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
add eax, 4
mov eax, dword [eax + 8]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x24]
fld dword [esp + edx*4 + 0x109c]
lea ecx, [edx + edx*2]
fadd st(0), st(0)
lea edx, [esp + edx*4 + 0x109c]
add ecx, ecx
add ecx, ecx
fstp dword [esp + 0x18]
mov dword [esp + 0x88], eax
fld dword [esp + 0x18]
lea eax, [esp + ecx + 0x28c]
fld st(0)
lea ecx, [esp + ecx + 0x298]
fmul dword [eax]
mov esi, dword [eax]
mov dword [esp + 0x68], esi
mov esi, dword [eax + 4]
fstp dword [esp + 0xbc]
mov dword [esp + 0x6c], esi
fld dword [eax + 4]
mov esi, dword [eax + 8]
fmul st(1)
mov dword [esp + 0x70], esi
fstp dword [esp + 0xc0]
fmul dword [eax + 8]
fstp dword [esp + 0xc4]
fld dword [edx]
fstp dword [esp + 0x18]
fld dword [ecx]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x194]
fld dword [ecx + 4]
fmul st(1)
fstp dword [esp + 0x198]
fmul dword [ecx + 8]
fstp dword [esp + 0x19c]
fld dword [esp + 0x17c]
fld st(0)
fld qword [0x5fe580]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x240]
fld dword [esp + 0x180]
fld st(0)
fmul st(2)
fstp dword [esp + 0x244]
fld dword [esp + 0x184]
fld st(0)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x248]
fld dword [esp + 0x240]
fsub dword [esp + 0x194]
fstp dword [esp + 0x20c]
fld dword [esp + 0x244]
fsub dword [esp + 0x198]
fstp dword [esp + 0x210]
fld dword [esp + 0x248]
fsub dword [esp + 0x19c]
fstp dword [esp + 0x214]
fld dword [esp + 0x20c]
fsub dword [esp + 0xbc]
fstp dword [esp + 0xc8]
fld dword [esp + 0x210]
fsub dword [esp + 0xc0]
fstp dword [esp + 0xcc]
fld dword [esp + 0x214]
fsub dword [esp + 0xc4]
fstp dword [esp + 0xd0]
fld dword [edx]
fmul st(0), st(0)
fld1
fld st(0)
fdiv st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0xc8]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x58], esi
fld st(0)
fmul dword [esp + 0xcc]
fstp dword [esp + 0xe4]
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x5c], esi
fmul dword [esp + 0xd0]
fstp dword [esp + 0xe8]
mov esi, dword [esp + 0xe8]
fld dword [ecx]
mov dword [esp + 0x60], esi
fadd dword [eax]
fstp dword [esp + 0xf8]
fld dword [eax + 4]
fadd dword [ecx + 4]
fstp dword [esp + 0xfc]
fld dword [eax + 8]
fadd dword [ecx + 8]
fstp dword [esp + 0x100]
fld dword [edx]
fstp dword [esp + 0x18]
fld dword [esp + 0xf8]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x128]
fld dword [esp + 0xfc]
fmul st(1)
fstp dword [esp + 0x12c]
fmul dword [esp + 0x100]
fstp dword [esp + 0x130]
fld qword [0x6101e8]
fmul st(5), st(0)
fxch st(5)
fstp dword [esp + 0x110]
fxch st(2)
fmul st(4)
fstp dword [esp + 0x114]
fxch st(2)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x118]
fld dword [esp + 0x110]
fadd dword [esp + 0x128]
fstp dword [esp + 0x140]
fld dword [esp + 0x114]
fadd dword [esp + 0x12c]
fstp dword [esp + 0x144]
fld dword [esp + 0x118]
fadd dword [esp + 0x130]
fstp dword [esp + 0x148]
fmul dword [edx]
fdivp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x140]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x158]
mov ecx, dword [esp + 0x158]
fld dword [esp + 0x144]
mov dword [esp + 0x74], ecx
fmul st(1)
fstp dword [esp + 0x15c]
mov eax, dword [esp + 0x15c]
fmul dword [esp + 0x148]
fstp dword [esp + 0x160]
fld dword [edx]
mov ecx, dword [esp + 0x160]
fadd dword [esp + 0x40]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
fstp dword [esp + 0x40]
fld dword [esp + 0x20]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4cbc4a
fstp st(0)
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x3c]
jg 0x4cc4e1
fsub dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
push 0
mov ecx, edi
fstp dword [esp + 0x48]
call fcn.004c9d20
fld dword [eax]
mov esi, dword [esp + 0x38]
fadd dword [esp + 0x20]
fdiv dword [esi + 0x60]
fcomp qword [0x5fe250]
fnstsw ax
test ah, 0x41
jne 0x4cc209
push 0
mov ecx, edi
call fcn.004c9d20
fld dword [eax]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fld dword [esi + 0x60]
fdivp st(2)
fld1
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x4cc2c5
fstp st(1)
fstp st(0)
push 0
mov ecx, edi
call fcn.004c9d20
fld dword [eax]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fld dword [esi + 0x60]
fdivp st(2)
fldz
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x4cc2bd
fstp st(1)
push 0
mov ecx, edi
fstp st(0)
call fcn.004c9d20
fld dword [eax]
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fld dword [esi + 0x60]
fdivp st(2)
fldz
fld1
fxch st(3)
fxch st(1)
mov ecx, dword [esp + 0x4c]
fxch st(1)
fstp dword [esp + 0x18]
test ecx, ecx
je 0x4cc295
fld dword [esp + 0x18]
fsubr st(3)
fmul st(0), st(0)
fdiv qword [0x6101e0]
fsub qword [0x606648]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4cc28a
fcom st(3)
fnstsw ax
test ah, 5
jp 0x4cc2cb
fstp st(3)
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x4cc2cd
fstp st(2)
fxch st(1)
fstp dword [esp + 0x288]
fld1
fld dword [esp + 0x288]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4cc2d1
fstp st(0)
mov eax, 0xff
jmp 0x4cc31c
fld st(1)
fld1
fxch st(3)
jmp 0x4cc256
fld st(1)
fldz
jmp 0x4cc256
fstp st(0)
fstp st(0)
jmp 0x4cc297
fldz
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x4cc2e2
fstp st(0)
xor eax, eax
jmp 0x4cc31c
fmul qword [0x5fe2c0]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fadd qword [0x5fe2b8]
or eax, 0xc00
mov dword [esp + 0x134], eax
fldcw word [esp + 0x134]
fistp qword [esp + 0x134]
mov eax, dword [esp + 0x134]
fldcw word [esp + 0x18]
fld dword [esp + 0x74]
shl eax, 0x18
fld dword [esp + 0x44]
or eax, 0x4dccff
fld st(0)
mov dword [esp + 0x270], eax
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x170]
fld dword [esp + 0x78]
fmul st(1)
fstp dword [esp + 0x174]
fld dword [esp + 0x7c]
fmul st(1)
fstp dword [esp + 0x178]
fld dword [esp + 0x170]
fadd dword [esp + 0x58]
fstp dword [esp + 0x188]
fld dword [esp + 0x5c]
fadd dword [esp + 0x174]
fstp dword [esp + 0x18c]
fld dword [esp + 0x60]
fadd dword [esp + 0x178]
fstp dword [esp + 0x190]
fld dword [esp + 0x188]
fmul st(1)
fstp dword [esp + 0x1a0]
fld dword [esp + 0x18c]
fmul st(1)
fstp dword [esp + 0x1a4]
fld dword [esp + 0x190]
fmul st(1)
fstp dword [esp + 0x1a8]
fld dword [esp + 0x1a0]
fadd dword [esp + 0x68]
fstp dword [esp + 0x1b8]
fld dword [esp + 0x6c]
fadd dword [esp + 0x1a4]
fstp dword [esp + 0x1bc]
fld dword [esp + 0x70]
fadd dword [esp + 0x1a8]
fstp dword [esp + 0x1c0]
fld dword [esp + 0x1b8]
fmul st(1)
fstp dword [esp + 0x1d0]
fld dword [esp + 0x1bc]
fmul st(1)
fstp dword [esp + 0x1d4]
fmul dword [esp + 0x1c0]
fstp dword [esp + 0x1d8]
fld dword [esp + 0x1d0]
fadd dword [esp + 0x80]
fstp dword [esp + 0x1e8]
mov eax, dword [esp + 0x1e8]
fld dword [esp + 0x84]
mov dword [esp + 0x264], eax
fadd dword [esp + 0x1d4]
fstp dword [esp + 0x1ec]
mov edx, dword [esp + 0x1ec]
fld dword [esp + 0x88]
mov dword [esp + 0x268], edx
fadd dword [esp + 0x1d8]
xor edx, edx
test ecx, ecx
mov ecx, dword [esp + 0x64]
fstp dword [esp + 0x1f0]
mov eax, dword [esp + 0x1f0]
sete dl
fdiv dword [esi + 0x60]
mov dword [esp + 0x26c], eax
lea eax, [esp + 0x264]
push eax
mov dword [esp + 0x48], edx
fstp dword [esp + 0x278]
fild dword [esp + 0x48]
fstp dword [esp + 0x27c]
call fcn.004cafc0
fld dword [esp + 0x20]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld dword [esp + 0x54]
fcompp
fnstsw ax
test ah, 1
je 0x4cbc35
jmp 0x4cc4e3
fstp st(0)
mov eax, dword [esp + 0x4c]
inc eax
cmp eax, 1
mov dword [esp + 0x4c], eax
jle 0x4cb150
mov ebp, dword [esp + 0x38]
mov edi, dword [ebp + 0x58]
add ebp, 0x48
cmp dword [ebp + 0xc], edi
jbe 0x4cc509
call fcn.005a01dd
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp]
cmp esi, dword [ebp + 0x10]
jbe 0x4cc519
call fcn.005a01dd
mov eax, dword [ebp]
push edi
push ebx
push esi
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebp
call fcn.004c9e90
mov esi, dword [esp + 0xa4]
cmp esi, dword [esp + 0xa8]
jbe 0x4cc541
call fcn.005a01dd
mov eax, dword [esp + 0x258]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x44], edx
mov edi, eax
cmp eax, dword [esp + 0x25c]
jbe 0x4cc563
call fcn.005a01dd
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
jmp 0x4cc580
mov ebx, dword [esp + 0xa8]
cmp dword [esp + 0xa4], ebx
jbe 0x4cc595
call fcn.005a01dd
mov edi, dword [esp + 0x44]
test edi, edi
je 0x4cc5a6
cmp edi, dword [esp + 0x98]
je 0x4cc5ab
call fcn.005a01dd
cmp esi, ebx
je 0x4cc642
test edi, edi
jne 0x4cc632
call fcn.005a01dd
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4cc5c8
call fcn.005a01dd
push esi
mov ecx, ebp
call fcn.004cafc0
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4cc636
call fcn.005a01dd
xor eax, eax
mov ebx, dword [esp + 0x30]
cmp ebx, dword [eax + 0x10]
jb 0x4cc5ed
call fcn.005a01dd
push ebx
mov ecx, ebp
call fcn.004cafc0
test edi, edi
jne 0x4cc63a
call fcn.005a01dd
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4cc60a
call fcn.005a01dd
mov eax, dword [esp + 0x2c]
add esi, 0x18
test eax, eax
jne 0x4cc63e
call fcn.005a01dd
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4cc626
call fcn.005a01dd
add ebx, 0x18
mov dword [esp + 0x30], ebx
jmp 0x4cc580
mov eax, dword [edi]
jmp 0x4cc5be
mov eax, dword [eax]
jmp 0x4cc5df
mov eax, dword [edi]
jmp 0x4cc600
mov eax, dword [eax]
jmp 0x4cc61c
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x4cc656
push eax
call fcn.0059fc2a
add esp, 4
mov ecx, dword [esp + 0x98]
xor esi, esi
push ecx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
call fcn.0059fc2a
mov eax, dword [esp + 0x25c]
add esp, 4
cmp eax, esi
je 0x4cc691
push eax
call fcn.0059fc2a
add esp, 4
mov edx, dword [esp + 0x24c]
push edx
mov dword [esp + 0x25c], esi
mov dword [esp + 0x260], esi
mov dword [esp + 0x264], esi
call fcn.0059fc2a
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x1a00]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret