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

Disassembly:
sub esp, 0x30
cmp dword [0x7cf900], 0
push ebx
mov ebx, dword [esp + 0x50]
push ebp
mov ebp, dword [ebx + 0x1c]
push esi
push edi
mov esi, eax
mov edi, ecx
je 0x4fa8a3
cmp dword [0x7cf8f0], 0
jne 0x4fa8a3
cmp dword [esp + 0x44], edi
je 0x4fa8a3
cmp dword [esp + 0x48], esi
je 0x4fa8a3
cmp dword [0x81688c], 0
jne 0x4f96ee
call fcn.004e8580
cmp dword [esp + 0x64], 0
je 0x4f9706
mov eax, dword [0x8e80b4]
sub eax, 1
neg eax
sbb eax, eax
and eax, 2
jmp 0x4f9708
xor eax, eax
or eax, dword [esp + 0x60]
mov ecx, dword [ebx + 0x1c]
push eax
mov eax, dword [ebp + 0x30]
push eax
add ecx, 8
push ecx
call fcn.004f7cd0
fld dword [esp + 0x54]
cmp dword [esp + 0x44], edi
fld dword [esp + 0x4c]
fld st(0)
mov edx, dword [0x7cfae0]
fsubp st(2)
mov eax, dword [ebx + 0x40]
fild dword [ebx + 0x28]
mov ebp, dword [0x8e80b0]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x58]
fld dword [esp + 0x50]
fld st(0)
fsubp st(2)
fild dword [ebx + 0x2c]
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld qword [0x6af0a0]
fsub st(2), st(0)
fxch st(2)
fstp dword [esp + 0x4c]
fsub st(1)
fstp dword [esp + 0x50]
jle 0x4f9786
mov eax, edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x48]
cmp ecx, esi
jle 0x4f9796
mov eax, esi
mov esi, ecx
mov dword [esp + 0x48], eax
mov eax, dword [0x8e7f98]
mov ebx, dword [0x8e7f8c]
mov ecx, edi
sub ecx, dword [0x8e7f94]
mov edx, esi
sub edx, eax
sub ecx, 1
sub edx, 1
and edx, ecx
mov ecx, dword [0x8e7f90]
sub ecx, dword [esp + 0x48]
sub ecx, 1
and edx, ecx
mov ecx, dword [esp + 0x44]
sub ebx, ecx
sub ebx, 1
and edx, ebx
test edx, edx
jns 0x4f9f31
mov eax, dword [0x7cfac8]
fstp st(0)
sub eax, 1
je 0x4f9bf5
sub eax, 1
jne 0x4fa899
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4fa899
mov edi, dword [esp + 0x5c]
mov ecx, dword [0x7cfac4]
add edi, 0x60
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
mov eax, dword [edi + 0x40]
mov edx, dword [0x80f6f8]
cmp edx, dword [eax]
je 0x4f982a
mov esi, dword [eax]
call fcn.004f1af0
mov ecx, dword [0x7cfac4]
cmp dword [0x8168b0], 0
jne 0x4f983c
cmp dword [0x8168b4], 0
je 0x4f9853
push 0
mov eax, 1
xor ecx, ecx
call fcn.004f5fe0
mov ecx, dword [0x7cfac4]
add esp, 4
mov esi, dword [0x7cfac0]
cmp esi, 1
mov eax, dword [0x7cfacc]
je 0x4f9883
cmp eax, 4
jne 0x4f9883
mov edx, dword [0x7cfac8]
lea edx, [edx + esi*2]
add edx, esi
lea ebx, [ecx + 6]
cmp ebx, dword [edx*4 + 0x6a2948]
jl 0x4f99ae
test ecx, ecx
je 0x4f9992
mov edx, dword [0x7cfac8]
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x6a2960]
cmp dword [0x8168e0], edx
je 0x4f98de
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x7cfac0]
mov eax, dword [0x7cfac8]
lea ecx, [eax + esi*2]
mov eax, dword [0x7cfacc]
add ecx, esi
mov edx, dword [ecx*4 + 0x6a2960]
mov ecx, dword [0x7cfac4]
mov dword [0x8168e0], edx
test esi, esi
je 0x4f98fd
mov edx, 0x6cf538
call fcn.004ea160
mov eax, dword [0x7cfacc]
mov ecx, dword [0x7cfac4]
mov esi, dword [0x7cfac0]
cmp eax, 4
jne 0x4f9912
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4f9949
cmp eax, 2
jne 0x4f9920
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x4f9949
cmp eax, 6
jne 0x4f992a
lea eax, [ecx - 2]
jmp 0x4f9949
cmp eax, 5
jne 0x4f9934
lea eax, [ecx - 2]
jmp 0x4f9949
cmp eax, 3
jne 0x4f993e
lea eax, [ecx - 1]
jmp 0x4f9949
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x7cfac8]
mov edx, dword [0x7cf900]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov ebx, dword [ecx + ecx + 0x6a2978]
add ecx, ecx
mov ecx, dword [ecx + 0x7cfaa8]
push ebx
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x7cfacc]
push eax
push edx
call ecx
cmp dword [0x7cfac0], 0
je 0x4f9992
mov edx, 0x8e8170
call fcn.004ea160
mov edx, dword [0x7cfac8]
mov dword [0x7cfac4], 0
mov eax, dword [edx*4 + 0x7cfaa8]
mov dword [0x7cfaf4], eax
mov eax, dword [0x7cfaf4]
fld dword [esp + 0x1c]
fld st(0)
mov ecx, dword [esp + 0x28]
mov dword [0x7cfac0], 0
mov dword [0x7cfacc], 4
mov dword [eax + 0x88], ecx
mov dword [eax + 0x10], ecx
fmul dword [edi - 4]
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax]
fld dword [esp + 0x5c]
fst dword [eax + 0x50]
fstp dword [eax + 0xa0]
fld dword [edi + 0xc]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x28]
fld dword [esp + 0x5c]
fst dword [eax + 0x78]
fstp dword [eax + 0xc8]
fld dword [edi]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fld dword [esp + 0x50]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 4]
fld dword [esp + 0x5c]
fst dword [eax + 0x2c]
fstp dword [eax + 0xcc]
fmul dword [edi + 0x20]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x54]
fld dword [esp + 0x5c]
fst dword [eax + 0x7c]
fstp dword [eax + 0xa4]
fild dword [0x8e80d0]
fadd dword [edi - 4]
fmul dword [0x7cfad8]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x18]
fld dword [esp + 0x5c]
fst dword [eax + 0x68]
fstp dword [eax + 0xb8]
fild dword [0x8e80d0]
fadd dword [edi + 0xc]
fmul dword [0x7cfad8]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x40]
fld dword [esp + 0x5c]
fst dword [eax + 0x90]
fstp dword [eax + 0xe0]
fild dword [0x8e80d4]
fadd dword [edi]
fmul dword [0x7cfadc]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x5c]
add edi, 0x60
fst dword [eax + 0x44]
fstp dword [eax + 0xe4]
fild dword [0x8e80d4]
fadd dword [edi - 0x40]
fmul dword [0x7cfadc]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x6c]
fld dword [esp + 0x5c]
fst dword [eax + 0x94]
fstp dword [eax + 0xbc]
fld dword [edi - 0x5c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x20]
fld dword [esp + 0x5c]
fst dword [eax + 0x70]
fstp dword [eax + 0xc0]
fld dword [edi - 0x4c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x48]
fld dword [esp + 0x5c]
fst dword [eax + 0x98]
fstp dword [eax + 0xe8]
fld dword [edi - 0x58]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x24]
fld dword [esp + 0x5c]
fst dword [eax + 0x4c]
fstp dword [eax + 0xec]
fld dword [edi - 0x38]
mov dword [eax + 0xd0], ebp
fstp dword [esp + 0x5c]
mov dword [eax + 0xa8], ebp
fld dword [esp + 0x5c]
mov dword [eax + 0x80], ebp
fst dword [esp + 0x5c]
mov dword [eax + 0x58], ebp
fstp dword [eax + 0x74]
mov dword [eax + 0x30], ebp
fld dword [esp + 0x5c]
mov dword [eax + 8], ebp
fst dword [eax + 0x9c]
fstp dword [eax + 0xc4]
mov ecx, dword [0x7cfac4]
add dword [0x7cfaf4], 0xf0
add ecx, 6
sub dword [esp + 0x2c], 1
mov dword [0x7cfac4], ecx
jne 0x4f9810
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4fa899
mov edi, dword [esp + 0x5c]
mov ecx, dword [0x7cfac4]
add edi, 0x60
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x40]
mov edx, dword [0x80f6f8]
cmp edx, dword [eax]
je 0x4f9c2c
mov esi, dword [eax]
call fcn.004f1af0
mov ecx, dword [0x7cfac4]
cmp dword [0x8168b0], 0
jne 0x4f9c3e
cmp dword [0x8168b4], 0
je 0x4f9c55
push 0
mov eax, 1
xor ecx, ecx
call fcn.004f5fe0
mov ecx, dword [0x7cfac4]
add esp, 4
mov esi, dword [0x7cfac0]
cmp esi, 1
mov eax, dword [0x7cfacc]
je 0x4f9c85
cmp eax, 4
jne 0x4f9c85
mov edx, dword [0x7cfac8]
lea edx, [edx + esi*2]
add edx, esi
lea ebx, [ecx + 6]
cmp ebx, dword [edx*4 + 0x6a2948]
jl 0x4f9db0
test ecx, ecx
je 0x4f9d94
mov edx, dword [0x7cfac8]
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x6a2960]
cmp dword [0x8168e0], edx
je 0x4f9ce0
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x7cfac0]
mov eax, dword [0x7cfac8]
lea ecx, [eax + esi*2]
mov eax, dword [0x7cfacc]
add ecx, esi
mov edx, dword [ecx*4 + 0x6a2960]
mov ecx, dword [0x7cfac4]
mov dword [0x8168e0], edx
test esi, esi
je 0x4f9cff
mov edx, 0x6cf538
call fcn.004ea160
mov eax, dword [0x7cfacc]
mov ecx, dword [0x7cfac4]
mov esi, dword [0x7cfac0]
cmp eax, 4
jne 0x4f9d14
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4f9d4b
cmp eax, 2
jne 0x4f9d22
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x4f9d4b
cmp eax, 6
jne 0x4f9d2c
lea eax, [ecx - 2]
jmp 0x4f9d4b
cmp eax, 5
jne 0x4f9d36
lea eax, [ecx - 2]
jmp 0x4f9d4b
cmp eax, 3
jne 0x4f9d40
lea eax, [ecx - 1]
jmp 0x4f9d4b
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x7cfac8]
mov edx, dword [0x7cf900]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov ebx, dword [ecx + ecx + 0x6a2978]
add ecx, ecx
mov ecx, dword [ecx + 0x7cfaa8]
push ebx
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x7cfacc]
push eax
push edx
call ecx
cmp dword [0x7cfac0], 0
je 0x4f9d94
mov edx, 0x8e8170
call fcn.004ea160
mov edx, dword [0x7cfac8]
mov dword [0x7cfac4], 0
mov eax, dword [edx*4 + 0x7cfaa8]
mov dword [0x7cfaf4], eax
mov eax, dword [0x7cfaf4]
mov ecx, dword [esp + 0x28]
mov dword [0x7cfac0], 0
mov dword [0x7cfacc], 4
mov dword [eax + 0x64], ecx
mov dword [eax + 0x10], ecx
fld dword [edi - 4]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x4c]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax]
fld dword [esp + 0x5c]
fst dword [eax + 0x38]
fstp dword [eax + 0x70]
fmul dword [edi + 0xc]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x5c]
fst dword [eax + 0x54]
fstp dword [eax + 0x8c]
fld dword [esp + 0x20]
fld st(0)
fmul dword [edi]
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 4]
fld dword [esp + 0x5c]
fst dword [eax + 0x20]
fstp dword [eax + 0x90]
fld dword [edi + 0x20]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x3c]
fld dword [esp + 0x5c]
fst dword [eax + 0x58]
fstp dword [eax + 0x74]
fld dword [edi + 4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x14]
fld dword [esp + 0x5c]
fst dword [eax + 0x4c]
fstp dword [eax + 0x84]
fld dword [edi + 0x14]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x30]
fld dword [esp + 0x5c]
fst dword [eax + 0x68]
fstp dword [eax + 0xa0]
fld dword [edi + 8]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
fstp dword [eax + 0x18]
fld dword [esp + 0x5c]
fst dword [eax + 0x34]
fstp dword [eax + 0xa4]
fld dword [edi + 0x28]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x5c]
mov dword [eax + 0x94], ebp
fstp dword [eax + 0x50]
mov dword [eax + 0x78], ebp
fld dword [esp + 0x5c]
mov dword [eax + 0x5c], ebp
fst dword [eax + 0x6c]
mov dword [eax + 0x40], ebp
fstp dword [eax + 0x88]
mov dword [eax + 0x24], ebp
mov dword [eax + 8], ebp
mov ecx, dword [0x7cfac4]
add dword [0x7cfaf4], 0xa8
add ecx, 6
add edi, 0x60
sub dword [esp + 0x2c], 1
mov dword [0x7cfac4], ecx
jne 0x4f9c12
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
sub esi, dword [0x8e7f90]
sub eax, dword [esp + 0x48]
sub edi, dword [0x8e7f8c]
sub esi, 1
sub eax, 1
sub edi, 1
and esi, edi
and esi, eax
mov eax, dword [0x8e7f94]
sub eax, ecx
sub eax, 1
and esi, eax
test esi, esi
js 0x4fa897
fild dword [0x8e7f7c]
mov eax, dword [0x7cfac8]
sub eax, 1
fstp dword [esp + 0x30]
fld dword [0x8e7f9c]
fsub st(1)
fld dword [esp + 0x30]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fild dword [0x8e7f80]
fstp dword [esp + 0x30]
fld dword [0x8e7fa0]
fsub st(2)
fld dword [esp + 0x30]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [0x8e7fa4]
fsub st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [0x8e7fa8]
fsubrp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
je 0x4fa493
sub eax, 1
jne 0x4fa899
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4fa899
mov ebx, dword [esp + 0x5c]
fld dword [esp + 0x10]
mov ecx, dword [0x7cfac4]
add ebx, 0x60
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x40]
mov edx, dword [0x80f6f8]
cmp edx, dword [eax]
je 0x4fa018
mov esi, dword [eax]
fstp st(0)
call fcn.004f1af0
fld dword [esp + 0x10]
mov ecx, dword [0x7cfac4]
cmp dword [0x8168b0], 0
jne 0x4fa02a
cmp dword [0x8168b4], 0
je 0x4fa047
push 0
fstp st(0)
mov eax, 1
xor ecx, ecx
call fcn.004f5fe0
fld dword [esp + 0x14]
mov ecx, dword [0x7cfac4]
add esp, 4
mov esi, dword [0x7cfac0]
cmp esi, 1
mov eax, dword [0x7cfacc]
je 0x4fa077
cmp eax, 4
jne 0x4fa077
mov edx, dword [0x7cfac8]
lea edx, [edx + esi*2]
add edx, esi
lea edi, [ecx + 6]
cmp edi, dword [edx*4 + 0x6a2948]
jl 0x4fa1a8
test ecx, ecx
je 0x4fa18c
mov edx, dword [0x7cfac8]
fstp st(0)
lea edx, [edx + esi*2]
add edx, esi
mov edx, dword [edx*4 + 0x6a2960]
cmp dword [0x8168e0], edx
je 0x4fa0d4
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x7cfac0]
mov eax, dword [0x7cfac8]
lea ecx, [eax + esi*2]
mov eax, dword [0x7cfacc]
add ecx, esi
mov edx, dword [ecx*4 + 0x6a2960]
mov ecx, dword [0x7cfac4]
mov dword [0x8168e0], edx
test esi, esi
je 0x4fa0f3
mov edx, 0x6cf538
call fcn.004ea160
mov eax, dword [0x7cfacc]
mov ecx, dword [0x7cfac4]
mov esi, dword [0x7cfac0]
cmp eax, 4
jne 0x4fa108
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4fa13f
cmp eax, 2
jne 0x4fa116
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x4fa13f
cmp eax, 6
jne 0x4fa120
lea eax, [ecx - 2]
jmp 0x4fa13f
cmp eax, 5
jne 0x4fa12a
lea eax, [ecx - 2]
jmp 0x4fa13f
cmp eax, 3
jne 0x4fa134
lea eax, [ecx - 1]
jmp 0x4fa13f
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x7cfac8]
mov edx, dword [0x7cf900]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov edi, dword [ecx + ecx + 0x6a2978]
add ecx, ecx
mov ecx, dword [ecx + 0x7cfaa8]
push edi
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x7cfacc]
push eax
push edx
call ecx
cmp dword [0x7cfac0], 0
je 0x4fa188
mov edx, 0x8e8170
call fcn.004ea160
fld dword [esp + 0x10]
mov edx, dword [0x7cfac8]
mov dword [0x7cfac4], 0
mov eax, dword [edx*4 + 0x7cfaa8]
mov dword [0x7cfaf4], eax
mov dword [0x7cfac0], 0
mov edi, 4
mov dword [0x7cfacc], edi
mov eax, dword [ebx + 0x40]
fild dword [eax + 0x24]
mov edx, dword [0x7cfaf4]
fld dword [esp + 0x1c]
lea esi, [edx + 0x50]
fld st(0)
lea ecx, [edx + 0x18]
fmulp st(2)
fld1
fld st(0)
fdivrp st(3)
fxch st(2)
fstp dword [esp + 0x5c]
fild dword [eax + 0x28]
fld dword [esp + 0x20]
fld st(0)
mov eax, dword [esp + 0x28]
fmulp st(2)
fxch st(3)
fdivrp st(1)
fstp dword [esp + 0x24]
fld dword [0x7cfad8]
fstp dword [esp + 0x38]
fld dword [0x7cfadc]
fstp dword [esp + 0x3c]
mov dword [edx + 0x88], eax
mov dword [edx + 0x10], eax
fld dword [ebx - 4]
fmul st(1)
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx]
fstp dword [esi]
fld dword [ebx + 0xc]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x28]
fstp dword [edx + 0x78]
fld dword [ebx]
fmul st(1)
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 4]
fstp dword [edx + 0x2c]
fld dword [ebx + 0x20]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x54]
fstp dword [edx + 0x7c]
fild dword [0x8e80d0]
fadd dword [ebx - 4]
fmul dword [0x7cfad8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [ecx]
fstp dword [edx + 0x68]
fild dword [0x8e80d0]
fadd dword [ebx + 0xc]
fmul dword [0x7cfad8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x40]
fstp dword [edx + 0x90]
fild dword [0x8e80d4]
fadd dword [ebx]
fmul dword [0x7cfadc]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x1c]
fstp dword [edx + 0x44]
fild dword [0x8e80d4]
fadd dword [ebx + 0x20]
fmul dword [0x7cfadc]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x6c]
fstp dword [edx + 0x94]
fld dword [ebx + 4]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x20]
fstp dword [edx + 0x70]
fld dword [ebx + 0x14]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x48]
fstp dword [edx + 0x98]
fld dword [ebx + 8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x24]
fstp dword [edx + 0x4c]
fld dword [ebx + 0x28]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [edx + 0x74]
fstp dword [edx + 0x9c]
fld dword [esp + 0x5c]
fld dword [esp + 0x24]
fld dword [esp + 0x38]
fld dword [esp + 0x3c]
jmp 0x4fa34e
fxch st(4)
fld dword [ecx - 0x18]
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x4fa376
fld st(4)
fsub dword [ecx - 0x18]
fld st(4)
fmul st(1)
fadd dword [ecx + 8]
fstp dword [ecx + 8]
fmul st(2)
fadd dword [ecx]
fstp dword [ecx]
fxch st(4)
fst dword [ecx - 0x18]
jmp 0x4fa3ac
fld dword [ecx - 0x18]
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4fa3a8
fsubr dword [ecx - 0x18]
fld dword [ecx + 8]
fld st(5)
fmul st(2)
fsubp st(1)
fstp dword [ecx + 8]
fld st(2)
fmulp st(1)
fsubr dword [ecx]
fstp dword [ecx]
fld dword [esp + 0x14]
fstp dword [ecx - 0x18]
jmp 0x4fa3aa
fstp st(0)
fxch st(4)
fld dword [ecx - 0x14]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4fa3dc
fsub dword [ecx - 0x14]
fld st(3)
fmul st(1)
fadd dword [ecx + 0xc]
fstp dword [ecx + 0xc]
fmul st(5)
fadd dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x18]
fstp dword [ecx - 0x14]
jmp 0x4fa414
fstp st(0)
fld dword [ecx - 0x14]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4fa412
fsubr dword [ecx - 0x14]
fld dword [ecx + 0xc]
fld st(4)
fmul st(2)
fsubp st(1)
fstp dword [ecx + 0xc]
fld st(5)
fmulp st(1)
fsubr dword [ecx + 4]
fstp dword [ecx + 4]
fld dword [esp + 0x2c]
fstp dword [ecx - 0x14]
jmp 0x4fa414
fstp st(0)
add ecx, 0x28
sub edi, 1
jne 0x4fa34c
lea edi, [edx + 0xa0]
fstp st(3)
mov ecx, 0xa
fstp st(1)
rep movsd dword es:[edi], dword [esi]
fstp st(0)
fstp st(1)
lea edi, [edx + 0xc8]
mov ecx, 0xa
lea esi, [edx + 0x28]
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0xd0], ebp
mov dword [edx + 0xa8], ebp
mov dword [edx + 0x80], ebp
mov dword [edx + 0x58], ebp
mov dword [edx + 0x30], ebp
mov dword [edx + 8], ebp
mov ecx, dword [0x7cfac4]
add dword [0x7cfaf4], 0xf0
add ecx, 6
add ebx, 0x60
sub dword [esp + 0x30], 1
mov dword [0x7cfac4], ecx
jne 0x4f9ff8
pop edi
fstp st(0)
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x4fa899
mov ebx, dword [esp + 0x5c]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
mov ecx, dword [0x7cfac4]
fld dword [esp + 0x14]
add ebx, 0x60
mov dword [esp + 0x30], eax
jmp 0x4fa4c4
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [ebx + 0x40]
mov edx, dword [0x80f6f8]
cmp edx, dword [eax]
je 0x4fa4f2
mov esi, dword [eax]
fstp st(2)
fstp st(0)
fstp st(0)
call fcn.004f1af0
fld dword [esp + 0x14]
mov ecx, dword [0x7cfac4]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fxch st(2)
cmp dword [0x8168b0], 0
mov eax, dword [ebx + 0x40]
fild dword [eax + 0x24]
fmul dword [esp + 0x1c]
fld1
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x5c]
fild dword [eax + 0x28]
fmul dword [esp + 0x20]
fdivp st(1)
fstp dword [esp + 0x24]
jne 0x4fa527
cmp dword [0x8168b4], 0
je 0x4fa552
fstp st(2)
push 0
fstp st(0)
mov eax, 1
xor ecx, ecx
fstp st(0)
call fcn.004f5fe0
fld dword [esp + 0x18]
fld dword [esp + 0x1c]
mov ecx, dword [0x7cfac4]
fld dword [esp + 0x14]
add esp, 4
fxch st(2)
mov esi, dword [0x7cfac0]
cmp esi, 1
mov eax, dword [0x7cfacc]
je 0x4fa582
cmp eax, 4
jne 0x4fa582
mov edx, dword [0x7cfac8]
lea edx, [edx + esi*2]
add edx, esi
lea edi, [ecx + 6]
cmp edi, dword [edx*4 + 0x6a2948]
jl 0x4fa6c1
test ecx, ecx
je 0x4fa6a5
mov edx, dword [0x7cfac8]
fstp st(2)
lea edx, [edx + esi*2]
fstp st(0)
add edx, esi
fstp st(0)
mov edx, dword [edx*4 + 0x6a2960]
cmp dword [0x8168e0], edx
je 0x4fa5e3
mov eax, dword [0x7cf900]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x164]
push eax
call edx
mov esi, dword [0x7cfac0]
mov eax, dword [0x7cfac8]
lea ecx, [eax + esi*2]
mov eax, dword [0x7cfacc]
add ecx, esi
mov edx, dword [ecx*4 + 0x6a2960]
mov ecx, dword [0x7cfac4]
mov dword [0x8168e0], edx
test esi, esi
je 0x4fa602
mov edx, 0x6cf538
call fcn.004ea160
mov eax, dword [0x7cfacc]
mov ecx, dword [0x7cfac4]
mov esi, dword [0x7cfac0]
cmp eax, 4
jne 0x4fa617
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4fa64e
cmp eax, 2
jne 0x4fa625
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x4fa64e
cmp eax, 6
jne 0x4fa62f
lea eax, [ecx - 2]
jmp 0x4fa64e
cmp eax, 5
jne 0x4fa639
lea eax, [ecx - 2]
jmp 0x4fa64e
cmp eax, 3
jne 0x4fa643
lea eax, [ecx - 1]
jmp 0x4fa64e
sub eax, 1
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, dword [0x7cfac8]
mov edx, dword [0x7cf900]
lea ecx, [ecx + esi*2]
add ecx, esi
mov esi, dword [edx]
add ecx, ecx
mov edi, dword [ecx + ecx + 0x6a2978]
add ecx, ecx
mov ecx, dword [ecx + 0x7cfaa8]
push edi
push ecx
mov ecx, dword [esi + 0x14c]
push eax
mov eax, dword [0x7cfacc]
push eax
push edx
call ecx
cmp dword [0x7cfac0], 0
je 0x4fa697
mov edx, 0x8e8170
call fcn.004ea160
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fxch st(2)
mov edx, dword [0x7cfac8]
mov dword [0x7cfac4], 0
mov eax, dword [edx*4 + 0x7cfaa8]
mov dword [0x7cfaf4], eax
mov edx, dword [0x7cfaf4]
mov eax, dword [esp + 0x28]
mov dword [0x7cfac0], 0
mov ecx, 4
mov dword [0x7cfacc], ecx
mov dword [edx + 0x64], eax
mov dword [edx + 0x10], eax
fld dword [ebx - 4]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x4c]
fld st(0)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx]
fstp dword [edx + 0x38]
fmul dword [ebx + 0xc]
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x1c]
fstp dword [edx + 0x54]
fld dword [esp + 0x20]
fld st(0)
fmul dword [ebx]
fld dword [esp + 0x50]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 4]
fstp dword [edx + 0x20]
fld dword [ebx + 0x20]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x3c]
fstp dword [edx + 0x58]
fld dword [ebx + 4]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x14]
fstp dword [edx + 0x4c]
fld dword [ebx + 0x14]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x30]
fstp dword [edx + 0x68]
fld dword [ebx + 8]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x18]
fstp dword [edx + 0x34]
fld dword [ebx + 0x28]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fst dword [edx + 0x50]
fstp dword [edx + 0x6c]
fld dword [esp + 0x5c]
fld dword [esp + 0x24]
jmp 0x4fa7a2
fxch st(3)
fxch st(4)
fld dword [edx]
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x4fa7bf
fld st(4)
fsub dword [edx]
fmul st(2)
fadd dword [edx + 0x14]
fstp dword [edx + 0x14]
fxch st(4)
fst dword [edx]
jmp 0x4fa7e0
fld dword [edx]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x4fa7de
fld dword [edx + 0x14]
fld dword [edx]
fsub st(4)
fmul st(3)
fsubp st(1)
fstp dword [edx + 0x14]
fxch st(2)
fst dword [edx]
fxch st(2)
fxch st(4)
fld dword [edx + 4]
fcomp st(4)
fnstsw ax
test ah, 5
jp 0x4fa800
fld st(3)
fsub dword [edx + 4]
fmul st(5)
fadd dword [edx + 0x18]
fstp dword [edx + 0x18]
fxch st(3)
fst dword [edx + 4]
jmp 0x4fa82e
fld dword [edx + 4]
fld dword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x4fa82a
fld dword [edx + 4]
fsubrp st(1)
fld st(5)
fmulp st(1)
fsubr dword [edx + 0x18]
fstp dword [edx + 0x18]
fld dword [esp + 0x2c]
fstp dword [edx + 4]
jmp 0x4fa82c
fstp st(0)
fxch st(3)
add edx, 0x1c
sub ecx, 1
jne 0x4fa79e
lea esi, [edx - 0x38]
fstp st(1)
mov ecx, 7
fstp st(3)
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0x54]
lea edi, [edx + 0x1c]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x94], ebp
mov dword [edx + 0x78], ebp
mov dword [edx + 0x5c], ebp
mov dword [edx + 0x40], ebp
mov dword [edx + 0x24], ebp
mov dword [edx + 8], ebp
mov ecx, dword [0x7cfac4]
add dword [0x7cfaf4], 0xa8
add ecx, 6
add ebx, 0x60
sub dword [esp + 0x30], 1
mov dword [0x7cfac4], ecx
jne 0x4fa4be
fstp st(1)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x30
ret