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

Disassembly:
push 0xffffffffffffffff
push 0x6ccae8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
fld dword [0x6dfbac]
push ebx
mov ebx, ecx
fdiv dword [ebx + 0x58]
push ebp
push esi
push edi
xor edi, edi
call fcn.00693530
or ebp, 0xffffffff
sub ebp, eax
mov ecx, ebx
mov dword [esp + 0x34], ebp
call fcn.0062ede0
mov eax, dword [ebx + 0x40]
lea ecx, [eax - 1]
imul ecx, ebp
mov ebp, dword [esp + 0x108]
add ecx, eax
mov eax, dword [ebx + 0x48]
shl ebp, 2
mov dword [ebx + 0x54], ecx
mov ecx, dword [eax + ebp]
test ecx, ecx
je 0x62eec6
mov eax, ecx
test eax, eax
je 0x62eec6
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.0058bad0
push edx
push 0x34
push eax
call fcn.006945b7
push esi
call fcn.00693d31
add esp, 4
mov esi, dword [ebx + 0x54]
mov eax, esi
imul eax, eax, 0x34
add eax, 4
push eax
call fcn.0069197a
add esp, 4
mov dword [esp + 0x28], eax
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x100], ecx
je 0x62ef0b
push fcn.0058bad0
push 0x62cee0
push esi
mov dword [eax], esi
add eax, 4
push 0x34
push eax
mov dword [esp + 0x2c], eax
call fcn.006944f7
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0x48]
mov dword [eax + ebp], ecx
mov esi, dword [ebx + 0x54]
mov ecx, esi
imul ecx, ecx, 0x34
add ecx, 4
push ecx
mov dword [esp + 0x104], 0xffffffff
call fcn.0069197a
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
mov dword [esp + 0x100], 1
je 0x62ef69
push fcn.0058bad0
push 0x62cee0
push esi
mov dword [eax], esi
add eax, 4
push 0x34
push eax
mov dword [esp + 0x2c], eax
call fcn.006944f7
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
jmp 0x62ef71
mov dword [esp + 0x3c], 0
mov eax, dword [ebx + 0x10]
add eax, 4
mov edx, dword [eax]
lea ecx, [ebx + 0x68]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x10c]
test eax, eax
mov dword [esp + 0x100], 0xffffffff
jne 0x62f8c6
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x40]
test eax, eax
jle 0x62f0b7
mov dword [esp + 0x58], 0
jmp 0x62efc0
call fcn.006935b2
fld dword [ebx + 0x5c]
fmul dword [0x6d3454]
mov esi, eax
call fcn.00693530
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fdiv dword [0x6d3454]
fstp dword [esp + 0x40]
call fcn.006935b2
fld dword [ebx + 0x64]
fmul dword [0x6d3454]
mov esi, eax
call fcn.00693530
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fdiv dword [0x6d3454]
fstp dword [esp + 0x48]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f03d
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f04d
fld dword [esp + 0x40]
fmul dword [0x6dfbac]
fstp dword [esp + 0x40]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f05e
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f06e
fld dword [esp + 0x48]
fmul dword [0x6dfbac]
fstp dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
fld dword [esp + 0x40]
fmul dword [0x6d0b50]
mov eax, dword [ebx + 0x10]
lea eax, [eax + ecx + 4]
fadd dword [eax]
fstp dword [eax]
mov eax, dword [ebx + 0x10]
fld dword [esp + 0x48]
lea eax, [eax + ecx + 0xc]
fmul dword [0x6d0b50]
add ecx, 0x34
mov dword [esp + 0x58], ecx
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x62efc0
mov eax, dword [ebx + 0x40]
xor ecx, ecx
test eax, eax
jle 0x62f513
test ecx, ecx
mov eax, dword [ebx + 0x10]
jne 0x62f0e3
lea edx, [eax + 4]
mov esi, dword [edx]
mov dword [esp + 0x40], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x48], edx
lea edx, [eax + 4]
jmp 0x62f108
mov edx, ecx
imul edx, edx, 0x34
mov dword [esp + 0x14], edx
lea edx, [eax + edx - 0x30]
mov esi, dword [edx]
mov dword [esp + 0x40], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x14]
lea edx, [eax + edx + 4]
mov dword [esp + 0x44], esi
mov esi, dword [edx]
mov dword [esp + 0x4c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x50], esi
mov esi, dword [ebx + 0x40]
mov dword [esp + 0x54], edx
lea edx, [ecx + 1]
dec esi
cmp edx, esi
mov dword [esp + 0x58], edx
jl 0x62f16a
mov edx, ecx
imul edx, edx, 0x34
mov dword [esp + 0x14], edx
lea edx, [eax + edx + 0x38]
mov esi, dword [edx]
mov dword [esp + 0x5c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x14]
lea eax, [eax + edx + 0x38]
mov edx, dword [eax]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
jmp 0x62f1a4
lea edx, [ecx + 1]
imul edx, edx, 0x34
add edx, eax
add edx, 4
mov esi, dword [edx]
mov dword [esp + 0x5c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x64], edx
lea edx, [ecx + 2]
imul edx, edx, 0x34
add edx, eax
add edx, 4
mov eax, dword [edx]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
mov eax, edi
imul eax, eax, 0x34
lea edx, [edx + eax + 4]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x4c]
mov dword [edx], esi
mov esi, dword [esp + 0x50]
mov dword [edx + 4], esi
mov esi, dword [esp + 0x54]
mov dword [edx + 8], esi
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
mov dword [eax + edx + 0x2c], edi
mov eax, dword [ebx + 0x40]
inc edi
dec eax
cmp ecx, eax
mov dword [esp + 0x18], edi
je 0x62f506
mov ecx, dword [esp + 0x34]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x1c], eax
jl 0x62f506
mov esi, edi
imul esi, esi, 0x34
fild dword [esp + 0x1c]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fmul dword [ebx + 0x58]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fmul dword [esp + 0x14]
mov dword [esp + 0x24], ecx
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fmul dword [0x6d126c]
fstp dword [esp + 0x30]
fld dword [esp + 0x24]
fmul dword [0x6d126c]
fsubr dword [esp + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x20]
fmul dword [esp + 0x78]
fstp dword [esp + 0x10]
fld dword [esp + 0x74]
fmul dword [esp + 0x20]
fstp dword [esp + 0xd4]
fld dword [esp + 0x38]
fmul dword [0x6e42f8]
fstp dword [esp + 0x38]
fld dword [esp + 0x24]
fadd st(0), st(0)
fsub dword [esp + 0x38]
fld dword [esp + 0x14]
fmul dword [0x6d126c]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fmul dword [esp + 0x64]
fstp dword [esp + 0x68]
fld dword [esp + 0x20]
fmul dword [esp + 0x60]
fstp dword [esp + 0x70]
fld dword [esp + 0x5c]
fmul dword [esp + 0x20]
fstp dword [esp + 0xe0]
fld dword [esp + 0x24]
fmul dword [0x6e4e78]
fsubr dword [esp + 0x38]
fadd dword [0x6d4fc8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fmul dword [esp + 0x54]
fstp dword [esp + 0x38]
fld dword [esp + 0x20]
fmul dword [esp + 0x50]
fstp dword [esp + 0x6c]
fld dword [esp + 0x4c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x8c]
fld dword [esp + 0x14]
fmul dword [0x6d126c]
fadd dword [esp + 0x30]
fsubr dword [esp + 0x24]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fmul dword [esp + 0x48]
fstp dword [esp + 0x30]
fld dword [esp + 0x20]
fmul dword [esp + 0x44]
fstp dword [esp + 0x14]
fld dword [esp + 0x40]
fmul dword [esp + 0x20]
fstp dword [esp + 0xb0]
fld dword [esp + 0x30]
fadd dword [esp + 0x38]
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
lea edx, [esi + edx + 4]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0xb0]
fadd dword [esp + 0x8c]
fstp dword [esp + 0xbc]
fld dword [esp + 0x30]
fadd dword [esp + 0x68]
fstp dword [esp + 0x68]
fld dword [esp + 0x6c]
fadd dword [esp + 0x70]
fstp dword [esp + 0x70]
fld dword [esp + 0xbc]
fadd dword [esp + 0xe0]
fstp dword [esp + 0xc8]
fld dword [esp + 0x68]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0xc8]
mov eax, dword [esp + 0x10]
fadd dword [esp + 0xd4]
fstp dword [esp + 0xec]
mov edi, dword [esp + 0xec]
mov dword [edx], edi
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
call fcn.006935b2
fld dword [ebx + 0x5c]
fmul dword [0x6d3454]
mov edi, eax
call fcn.00693530
mov ecx, eax
mov eax, edi
cdq
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x6d3454]
fstp dword [esp + 0x80]
call fcn.006935b2
fld dword [ebx + 0x64]
fmul dword [0x6d3454]
mov edi, eax
call fcn.00693530
mov ecx, eax
mov eax, edi
cdq
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x6d3454]
fstp dword [esp + 0x88]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f470
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f486
fld dword [esp + 0x80]
fmul dword [0x6dfbac]
fstp dword [esp + 0x80]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f497
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f4ad
fld dword [esp + 0x88]
fmul dword [0x6dfbac]
fstp dword [esp + 0x88]
mov eax, dword [ebx + 0x48]
fld dword [esp + 0x80]
mov edx, dword [eax + ebp]
fadd st(0), st(0)
mov edi, dword [esp + 0x18]
lea eax, [edx + esi + 4]
fadd dword [eax]
fstp dword [eax]
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + ebp]
fld dword [esp + 0x88]
lea eax, [esi + eax + 0xc]
fadd st(0), st(0)
add esi, 0x34
fadd dword [eax]
fstp dword [eax]
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + ebp]
mov eax, dword [esp + 0x1c]
mov dword [ecx + esi - 8], edi
mov ecx, dword [esp + 0x34]
inc edi
inc eax
cmp eax, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
jle 0x62f200
mov ecx, dword [esp + 0x58]
cmp ecx, dword [ebx + 0x40]
jl 0x62f0c4
mov edx, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x48]
imul edx, edx, 0x34
mov eax, dword [ecx + ebp]
mov ecx, dword [ecx + ebp]
lea ecx, [edx + ecx - 0x30]
add eax, 4
fld dword [ecx + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x2c]
fld dword [ecx + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x10]
fld dword [ecx]
mov edx, dword [esp + 0x10]
fsub dword [eax]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa8], edx
push ecx
fstp dword [esp + 0xa8]
lea edx, [esp + 0x9c]
push edx
mov dword [esp + 0xb4], eax
call fcn.00540bf1
call fcn.006935b2
cdq
mov ecx, 0xfffffc7c
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x1c]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f59d
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f5ad
fld dword [esp + 0x1c]
fmul dword [0x6dfbac]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov eax, dword [ebx + 0x54]
fsub dword [0x6d68c0]
xor edi, edi
test eax, eax
fstp dword [esp + 0x18]
jle 0x62f6a6
xor esi, esi
lea ebx, [ebx]
fld dword [esp + 0x9c]
mov eax, dword [ebx + 0x48]
fmul dword [ebx + 8]
mov edx, dword [eax + ebp]
fld dword [esp + 0xa0]
lea eax, [edx + esi + 0x18]
fmul dword [ebx + 4]
fsubp st(1)
fstp dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
fld dword [esp + 0xa0]
fmul dword [ebx]
fld dword [esp + 0x98]
fmul dword [ebx + 8]
fsubp st(1)
fstp dword [esp + 0x90]
mov edx, dword [esp + 0x90]
fld dword [esp + 0x98]
fmul dword [ebx + 4]
fld dword [esp + 0x9c]
fmul dword [ebx]
mov dword [eax], ecx
mov dword [eax + 4], edx
fsubp st(1)
fstp dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
lea ecx, [esi + edx + 0x18]
push ecx
lea eax, [esi + edx + 0x18]
push eax
call fcn.00540bf1
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
fld dword [esi + edx + 0x18]
mov ecx, dword [eax + ebp]
fchs
lea ecx, [esi + ecx + 4]
fmul dword [esp + 0x18]
inc edi
fadd dword [ecx]
fstp dword [ecx]
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
fld dword [esi + edx + 0x20]
mov ecx, dword [eax + ebp]
fchs
lea ecx, [esi + ecx + 0xc]
fmul dword [esp + 0x18]
add esi, 0x34
fadd dword [ecx]
fstp dword [ecx]
mov eax, dword [ebx + 0x54]
cmp edi, eax
jl 0x62f5d0
mov ecx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x48]
imul ecx, ecx, 0x34
mov esi, dword [eax + ebp]
mov edi, dword [esp + 0x3c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + ebp]
test eax, eax
je 0x62f6eb
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.0058bad0
push ecx
push 0x34
push eax
call fcn.006945b7
push esi
call fcn.00693d31
add esp, 4
mov esi, dword [ebx + 0x54]
shl esi, 1
mov edx, esi
imul edx, edx, 0x34
add edx, 4
push edx
call fcn.0069197a
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
mov dword [esp + 0x100], 2
je 0x62f72e
push fcn.0058bad0
push 0x62cee0
push esi
lea edi, [eax + 4]
push 0x34
push edi
mov dword [eax], esi
call fcn.006944f7
jmp 0x62f730
xor edi, edi
mov eax, dword [ebx + 0x48]
add eax, ebp
mov dword [eax], edi
mov eax, dword [ebx + 0x54]
shl eax, 1
test eax, eax
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x14], 0
jle 0x63010f
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
add eax, ebp
mov dword [ecx + edx + 0x24], 0
mov eax, dword [ebx + 0x48]
add eax, ebp
mov eax, dword [eax]
mov dword [ecx + eax], 0
mov ecx, dword [ebx + 0x54]
shl ecx, 1
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
test ecx, ecx
jle 0x62f7e3
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x62f7e3
call fcn.006935b2
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x6e2f18]
fstp dword [esp + 0x1c]
fld dword [0x6f3614]
fld dword [esp + 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x62f7e3
mov dword [esp + 0x1c], 0x38d1b717
and esi, 0x80000001
jns 0x62f7f0
dec esi
or esi, 0xfffffffe
inc esi
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x48]
jne 0x62f81d
mov edi, dword [ecx + ebp]
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp + 0x24]
sar esi, 1
imul esi, esi, 0x34
add ecx, ebp
add esi, edx
add edi, eax
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
jmp 0x62f890
mov edi, dword [ecx + ebp]
add ecx, ebp
mov ecx, dword [esp + 0x24]
dec eax
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
sar eax, 1
imul eax, eax, 0x34
add edi, ecx
add eax, edx
mov ecx, 0xd
mov esi, eax
rep movsd dword es:[edi], dword [esi]
fild dword [ebx + 0x80]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [eax + 0x18]
fdiv dword [0x6efe8c]
mov ecx, dword [ebx + 0x48]
mov edx, dword [esp + 0x24]
add ecx, ebp
mov ecx, dword [ecx]
lea ecx, [edx + ecx + 4]
fadd dword [ecx]
fstp dword [ecx]
mov ecx, dword [ebx + 0x48]
fild dword [ebx + 0x80]
add ecx, ebp
mov ecx, dword [ecx]
lea ecx, [ecx + edx + 0xc]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [eax + 0x20]
fdiv dword [0x6efe8c]
fadd dword [ecx]
fstp dword [ecx]
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
add eax, ebp
mov eax, dword [esp + 0x1c]
mov dword [ecx + edx + 0x28], eax
mov edx, dword [ebx + 0x54]
inc esi
add ecx, 0x34
shl edx, 1
cmp esi, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ecx
jl 0x62f761
jmp 0x63010f
cmp eax, 1
jne 0x63010f
mov ecx, dword [ebx + 0x40]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x14], eax
jle 0x62f9f3
mov dword [esp + 0x18], eax
call fcn.006935b2
fld dword [ebx + 0x5c]
fmul dword [0x6d3454]
mov esi, eax
call fcn.00693530
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x6d3454]
fstp dword [esp + 0x80]
call fcn.006935b2
fld dword [ebx + 0x64]
fmul dword [0x6d3454]
mov esi, eax
call fcn.00693530
mov ecx, eax
mov eax, esi
cdq
idiv ecx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fdiv dword [0x6d3454]
fstp dword [esp + 0x88]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f967
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f97d
fld dword [esp + 0x80]
fmul dword [0x6dfbac]
fstp dword [esp + 0x80]
call fcn.006935b2
and eax, 0x80000001
jns 0x62f98e
dec eax
or eax, 0xfffffffe
inc eax
je 0x62f9a4
fld dword [esp + 0x88]
fmul dword [0x6dfbac]
fstp dword [esp + 0x88]
mov ecx, dword [esp + 0x18]
fld dword [esp + 0x80]
fmul dword [0x6d61a8]
mov eax, dword [ebx + 0x10]
lea eax, [eax + ecx + 4]
fadd dword [eax]
fstp dword [eax]
mov eax, dword [ebx + 0x10]
fld dword [esp + 0x88]
lea eax, [eax + ecx + 0xc]
fmul dword [0x6d61a8]
add ecx, 0x34
mov dword [esp + 0x18], ecx
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x62f8e4
mov eax, dword [ebx + 0x40]
xor ecx, ecx
test eax, eax
jle 0x62fd5b
test ecx, ecx
mov eax, dword [ebx + 0x10]
jne 0x62fa1f
lea edx, [eax + 4]
mov esi, dword [edx]
mov dword [esp + 0x74], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x7c], edx
lea edx, [eax + 4]
jmp 0x62fa44
mov edx, ecx
imul edx, edx, 0x34
mov dword [esp + 0x14], edx
lea edx, [eax + edx - 0x30]
mov esi, dword [edx]
mov dword [esp + 0x74], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x14]
lea edx, [eax + edx + 4]
mov dword [esp + 0x78], esi
mov esi, dword [edx]
mov dword [esp + 0x4c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x50], esi
mov esi, dword [ebx + 0x40]
mov dword [esp + 0x54], edx
lea edx, [ecx + 1]
dec esi
cmp edx, esi
mov dword [esp + 0x58], edx
jl 0x62faa6
mov edx, ecx
imul edx, edx, 0x34
mov dword [esp + 0x14], edx
lea edx, [eax + edx + 0x38]
mov esi, dword [edx]
mov dword [esp + 0x5c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x14]
lea eax, [eax + edx + 0x38]
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
jmp 0x62fae0
lea edx, [ecx + 1]
imul edx, edx, 0x34
add edx, eax
add edx, 4
mov esi, dword [edx]
mov dword [esp + 0x5c], esi
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x64], edx
lea edx, [ecx + 2]
imul edx, edx, 0x34
add edx, eax
add edx, 4
mov eax, dword [edx]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
mov eax, edi
imul eax, eax, 0x34
lea edx, [edx + eax + 4]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x4c]
mov dword [edx], esi
mov esi, dword [esp + 0x50]
mov dword [edx + 4], esi
mov esi, dword [esp + 0x54]
mov dword [edx + 8], esi
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
mov dword [eax + edx + 0x2c], edi
mov eax, dword [ebx + 0x40]
inc edi
dec eax
cmp ecx, eax
je 0x62fd4e
mov eax, dword [esp + 0x34]
mov ecx, 1
cmp eax, ecx
mov dword [esp + 0x18], ecx
jl 0x62fd4e
mov eax, edi
imul eax, eax, 0x34
jmp 0x62fb40
fild dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x58]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fmul dword [esp + 0x24]
mov dword [esp + 0x20], edx
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul dword [0x6d126c]
fstp dword [esp + 0x30]
fld dword [esp + 0x20]
fmul dword [0x6d126c]
fsubr dword [esp + 0x30]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x48]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fmul dword [esp + 0x44]
fstp dword [esp + 0x28]
fld dword [esp + 0x40]
fmul dword [esp + 0x1c]
fstp dword [esp + 0xa4]
fld dword [esp + 0x18]
fmul dword [0x6e42f8]
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fadd st(0), st(0)
fsub dword [esp + 0x18]
fld dword [esp + 0x24]
fmul dword [0x6d126c]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x64]
fstp dword [esp + 0x6c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x60]
fstp dword [esp + 0x38]
fld dword [esp + 0x5c]
fmul dword [esp + 0x1c]
fstp dword [esp + 0xe0]
fld dword [esp + 0x20]
fmul dword [0x6e4e78]
fsubr dword [esp + 0x18]
fadd dword [0x6d4fc8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x54]
fstp dword [esp + 0x2c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x50]
fstp dword [esp + 0x68]
fld dword [esp + 0x4c]
fmul dword [esp + 0x1c]
fstp dword [esp + 0xd4]
fld dword [esp + 0x24]
fmul dword [0x6d126c]
fadd dword [esp + 0x30]
fsubr dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fmul dword [esp + 0x78]
fstp dword [esp + 0x70]
fld dword [esp + 0x74]
fmul dword [esp + 0x1c]
fstp dword [esp + 0xec]
fld dword [esp + 0x10]
fadd dword [esp + 0x2c]
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
lea edx, [eax + edx + 4]
fstp dword [esp + 0x10]
mov esi, edx
fld dword [esp + 0x70]
add eax, 0x34
fadd dword [esp + 0x68]
fstp dword [esp + 0x2c]
fld dword [esp + 0xec]
fadd dword [esp + 0xd4]
fstp dword [esp + 0xc8]
fld dword [esp + 0x10]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x10]
fld dword [esp + 0x2c]
fadd dword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0xc8]
fadd dword [esp + 0xe0]
fstp dword [esp + 0xbc]
fld dword [esp + 0x10]
fadd dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x2c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0xbc]
fadd dword [esp + 0xa4]
fstp dword [esp + 0x98]
mov edx, dword [esp + 0x98]
mov dword [esi], edx
mov edx, dword [esp + 0x28]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x10]
mov dword [esi + 8], edx
mov edx, dword [ebx + 0x48]
mov edx, dword [edx + ebp]
mov dword [eax + edx - 8], edi
mov edx, dword [esp + 0x34]
inc edi
inc ecx
cmp ecx, edx
mov dword [esp + 0x18], ecx
jle 0x62fb40
mov ecx, dword [esp + 0x58]
cmp ecx, dword [ebx + 0x40]
jl 0x62fa00
mov edx, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x48]
imul edx, edx, 0x34
mov eax, dword [ecx + ebp]
mov ecx, dword [ecx + ebp]
lea ecx, [edx + ecx - 0x30]
add eax, 4
fld dword [ecx + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x10]
fld dword [ecx + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fld dword [ecx]
lea ecx, [esp + 0xb0]
fsub dword [eax]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb4], edx
push ecx
lea edx, [esp + 0x90]
fstp dword [esp + 0xb4]
push edx
mov dword [esp + 0xc0], eax
call fcn.00540bf1
mov eax, dword [ebx + 0x54]
xor edi, edi
test eax, eax
jle 0x62fea6
xor esi, esi
lea ebx, [ebx]
fld dword [esp + 0x90]
mov eax, dword [ebx + 0x48]
fmul dword [ebx + 8]
mov eax, dword [eax + ebp]
fld dword [esp + 0x94]
lea eax, [eax + esi + 0x18]
fmul dword [ebx + 4]
fsubp st(1)
fstp dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
fld dword [esp + 0x94]
fmul dword [ebx]
fld dword [esp + 0x8c]
fmul dword [ebx + 8]
fsubp st(1)
fstp dword [esp + 0x9c]
mov edx, dword [esp + 0x9c]
fld dword [esp + 0x8c]
fmul dword [ebx + 4]
fld dword [esp + 0x90]
fmul dword [ebx]
mov dword [eax], ecx
mov dword [eax + 4], edx
fsubp st(1)
fstp dword [esp + 0xa0]
mov ecx, dword [esp + 0xa0]
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
lea ecx, [esi + edx + 0x18]
push ecx
lea eax, [esi + edx + 0x18]
push eax
call fcn.00540bf1
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
fld dword [esi + edx + 0x18]
mov ecx, dword [eax + ebp]
fmul dword [0x6efe88]
lea ecx, [esi + ecx + 4]
inc edi
fadd dword [ecx]
fstp dword [ecx]
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
fld dword [esi + edx + 0x20]
mov ecx, dword [eax + ebp]
fmul dword [0x6efe88]
lea ecx, [esi + ecx + 0xc]
add esi, 0x34
fadd dword [ecx]
fstp dword [ecx]
mov eax, dword [ebx + 0x54]
cmp edi, eax
jl 0x62fdd0
mov ecx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x48]
imul ecx, ecx, 0x34
mov esi, dword [eax + ebp]
mov edi, dword [esp + 0x3c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x48]
mov eax, dword [eax + ebp]
test eax, eax
je 0x62feeb
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.0058bad0
push ecx
push 0x34
push eax
call fcn.006945b7
push esi
call fcn.00693d31
add esp, 4
mov esi, dword [ebx + 0x54]
shl esi, 1
mov edx, esi
imul edx, edx, 0x34
add edx, 4
push edx
call fcn.0069197a
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
mov dword [esp + 0x100], 3
je 0x62ff2e
push fcn.0058bad0
push 0x62cee0
push esi
lea edi, [eax + 4]
push 0x34
push edi
mov dword [eax], esi
call fcn.006944f7
jmp 0x62ff30
xor edi, edi
mov eax, dword [ebx + 0x48]
add eax, ebp
mov dword [eax], edi
mov eax, dword [ebx + 0x54]
xor esi, esi
shl eax, 1
test eax, eax
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x14], esi
jle 0x6300b8
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x62ff60
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
add eax, ebp
mov dword [ecx + edx + 0x24], 0
mov ecx, dword [ebx + 0x54]
shl ecx, 1
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
test ecx, ecx
jle 0x62ffda
mov eax, esi
cdq
idiv ecx
test edx, edx
jne 0x62ffda
call fcn.006935b2
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fdiv dword [0x6e2f18]
fstp dword [esp + 0x34]
fld dword [0x6f3614]
fld dword [esp + 0x34]
fucompp
fnstsw ax
test ah, 0x44
jp 0x62ffda
fld dword [esp + 0x34]
fadd dword [0x6efe84]
fstp dword [esp + 0x34]
and esi, 0x80000001
jns 0x62ffe7
dec esi
or esi, 0xfffffffe
inc esi
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x48]
jne 0x630014
mov edi, dword [ecx + ebp]
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp + 0x24]
sar esi, 1
imul esi, esi, 0x34
add ecx, ebp
add esi, edx
add edi, eax
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
jmp 0x630087
mov edi, dword [ecx + ebp]
add ecx, ebp
mov ecx, dword [esp + 0x24]
dec eax
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
sar eax, 1
imul eax, eax, 0x34
add edi, ecx
add eax, edx
mov ecx, 0xd
mov esi, eax
rep movsd dword es:[edi], dword [esi]
fild dword [ebx + 0x80]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fdiv dword [0x6d13fc]
mov ecx, dword [ebx + 0x48]
mov edx, dword [esp + 0x24]
add ecx, ebp
mov ecx, dword [ecx]
lea ecx, [ecx + edx + 4]
fmul dword [eax + 0x18]
fsubr dword [ecx]
fstp dword [ecx]
mov ecx, dword [ebx + 0x48]
fild dword [ebx + 0x80]
add ecx, ebp
mov ecx, dword [ecx]
lea ecx, [edx + ecx + 0xc]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fdiv dword [0x6d13fc]
fmul dword [eax + 0x20]
fsubr dword [ecx]
fstp dword [ecx]
mov eax, dword [ebx + 0x48]
mov edx, dword [eax + ebp]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
add eax, ebp
mov eax, dword [esp + 0x34]
mov dword [edx + ecx + 0x28], eax
mov edx, dword [ebx + 0x54]
inc esi
add ecx, 0x34
shl edx, 1
cmp esi, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ecx
jl 0x62ff60
mov eax, dword [ebx + 0x54]
shl eax, 1
xor edx, edx
test eax, eax
jle 0x63010f
xor ecx, ecx
mov eax, dword [ebx + 0x48]
add eax, ebp
mov eax, dword [eax]
mov dword [ecx + eax], 1
mov eax, dword [ebx + 0x48]
add eax, ebp
mov eax, dword [eax]
fld dword [ecx + eax + 0x18]
lea eax, [ecx + eax + 0x18]
fmul dword [0x6dfbac]
inc edx
add ecx, 0x34
fstp dword [eax]
fld dword [eax + 4]
fmul dword [0x6dfbac]
fstp dword [eax + 4]
fld dword [eax + 8]
fmul dword [0x6dfbac]
fstp dword [eax + 8]
mov eax, dword [ebx + 0x54]
shl eax, 1
cmp edx, eax
jl 0x6300c5
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x630134
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.0058bad0
push ecx
push 0x34
push eax
call fcn.006945b7
push esi
call fcn.00693d31
add esp, 4
mov ecx, dword [esp + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xf4
ret 8