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

Disassembly:
sub esp, 0x2f8
mov edx, dword [esp + 0x2fc]
mov eax, ecx
push ebx
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x1b4]
push ebp
push esi
xor esi, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30c]
or ecx, 0xffffffff
cmp esi, eax
lea ebx, [edx - 0x2c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
lea ebp, [esp + 0x44]
mov dword [esp + 0x34], esi
jg 0x4f20d6
push edi
mov dword [esp + 0x30], esi
jne 0x4f1cf9
sub edx, dword [esp + 0x30]
mov dword [esp + 0x30c], edx
mov eax, dword [edx + 0x28]
and eax, 0x10
mov edi, eax
xor edi, ecx
cmp edi, 0x10
mov dword [esp + 0x44], eax
jne 0x4f1f7f
shr eax, 1
and eax, 8
and ecx, edi
or eax, ecx
shr eax, 3
dec eax
je 0x4f1d72
dec eax
je 0x4f1d35
mov dword [ebp], 0
mov dword [ebp + 4], 0
jmp 0x4f1dbf
fld dword [0x5d7a44]
fdiv dword [edx + 0xc]
fld dword [ebx + 8]
fchs
fld st(1)
fmul dword [edx + 8]
fsub dword [ebx + 8]
fdivp st(1)
fstp dword [esp + 0x10]
fld dword [ebx]
fld st(1)
fmul dword [edx]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
fmul dword [esp + 0x1c]
fstp dword [ebp]
fstp st(0)
fld dword [ebx + 4]
fxch st(1)
fmul dword [edx + 4]
jmp 0x4f1dae
fld dword [0x5d7a44]
fdiv dword [ebx + 0xc]
fld st(0)
fmul dword [ebx + 8]
fld st(0)
fchs
fld dword [edx + 8]
fsub st(2)
fdivp st(1)
fstp dword [esp + 0x10]
fstp st(0)
fld st(0)
fmul dword [ebx]
fld dword [edx]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
fmul dword [esp + 0x1c]
fstp dword [ebp]
fstp st(0)
fmul dword [ebx + 4]
fld dword [edx + 4]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
fmul dword [esp + 0x1c]
fstp dword [ebp + 4]
fstp st(0)
fld dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
fmul dword [0x5d7bb4]
mov ecx, dword [esp + 0x1c]
mov esi, 0xff
mov dword [ebp + 8], 0
fistp qword [esp + 0x3c]
mov dword [ebp + 0xc], ecx
mov edi, dword [esp + 0x3c]
mov ecx, dword [edx + 0x10]
sub esi, edi
mov dword [esp + 0x28], edi
mov edi, eax
shr edi, 8
mov dword [esp + 0x2c], esi
and edi, 0xff00ff
imul edi, esi
mov esi, ecx
shr esi, 8
and esi, 0xff00ff
imul esi, dword [esp + 0x28]
and eax, 0xff00ff
imul eax, dword [esp + 0x2c]
and edi, 0xff00ff00
and ecx, 0xff00ff
and esi, 0xff00ff00
add edi, esi
mov esi, dword [esp + 0x28]
imul ecx, esi
and eax, 0xff00ffff
and ecx, 0xff00ff00
add eax, ecx
mov ecx, dword [edx + 0x14]
shr eax, 8
or edi, eax
mov eax, dword [ebx + 0x14]
xor edx, edx
mov dl, ah
xor ebx, ebx
mov bl, ch
mov dword [ebp + 0x10], edi
mov edi, dword [esp + 0x2c]
and eax, 0xff00ff
and ecx, 0xff00ff
imul eax, edi
imul edx, edi
imul ecx, esi
imul ebx, esi
and eax, 0xff00ffff
and edx, 0xff00
and ecx, 0xff00ff00
and ebx, 0xff00
add edx, ebx
mov ebx, dword [esp + 0x24]
add eax, ecx
shr eax, 8
fld dword [ebx + 0x18]
or edx, eax
or edx, 0xff000000
mov dword [ebp + 0x14], edx
mov edx, dword [esp + 0x30c]
fld dword [edx + 0x18]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
fstp dword [ebp + 0x18]
fstp st(0)
fld dword [ebx + 0x1c]
fld dword [edx + 0x1c]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
fstp dword [ebp + 0x1c]
fstp st(0)
fld dword [ebx + 0x20]
fld dword [edx + 0x20]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
fstp dword [ebp + 0x20]
add ebp, 0x2c
fstp st(0)
fld dword [ebx + 0x24]
fld dword [edx + 0x24]
fsub st(1)
fmul dword [esp + 0x10]
fadd st(1)
fstp dword [ebp - 8]
fstp st(0)
fld dword [ebp - 0x2c]
fsub dword [eax + 0x74]
fstp dword [esp + 0x2c]
fld dword [eax + 0x78]
mov ecx, dword [esp + 0x2c]
fsub dword [ebp - 0x2c]
shr ecx, 1
fstp dword [esp + 0x24]
fld dword [ebp - 0x28]
fsub dword [eax + 0x7c]
fstp dword [esp + 0x28]
fld dword [eax + 0x80]
mov eax, dword [esp + 0x24]
fsub dword [ebp - 0x28]
and eax, 0xbfffffff
or eax, ecx
mov ecx, dword [esp + 0x28]
shr eax, 1
fstp dword [esp + 0x3c]
and ecx, 0x9fffffff
or eax, ecx
mov ecx, dword [esp + 0x3c]
shr eax, 1
and ecx, 0x8fffffff
or eax, ecx
shr eax, 0x1c
or esi, eax
and edi, eax
mov dword [ebp - 4], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], edi
test eax, eax
jne 0x4f1fbe
cmp esi, dword [esp + 0x310]
je 0x4f1fbe
mov edi, ebp
mov ecx, 0xb
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 0x28]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
or esi, ecx
and edi, ecx
mov ecx, dword [esp + 0x18]
add ebp, 0x2c
inc ecx
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ecx
mov ecx, eax
mov eax, dword [esp + 0x30]
add eax, 0x2c
inc esi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x310]
add edx, 0x2c
add ebx, 0x2c
cmp esi, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x30c], edx
mov dword [esp + 0x24], ebx
jle 0x4f1cec
mov eax, dword [esp + 0x20]
test eax, eax
pop edi
jne 0x4f20d6
mov eax, dword [esp + 0x314]
test eax, eax
je 0x4f2045
fld dword [esp + 0x74]
fsub dword [esp + 0x48]
fld dword [esp + 0x9c]
fsub dword [esp + 0x44]
fmulp st(1)
fld dword [esp + 0xa0]
fsub dword [esp + 0x48]
fld dword [esp + 0x70]
fsub dword [esp + 0x44]
fmulp st(1)
fsubp st(1)
fcomp dword [0x5d78a8]
fnstsw ax
test ah, 0x41
je 0x4f20d6
mov eax, dword [esp + 0x310]
test eax, eax
jne 0x4f20b1
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0xd8]
test eax, eax
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
je 0x4f208b
shl eax, 2
lea edx, [eax + 0x612144]
push edx
mov edx, dword [esp + 0x18]
push edx
lea edx, [esp + 0x4c]
push edx
call dword [eax + 0x612140]
pop esi
pop ebp
pop ebx
add esp, 0x2f8
ret 0x10
shl eax, 2
lea edx, [eax + 0x612284]
push edx
mov edx, dword [esp + 0x18]
push edx
lea edx, [esp + 0x4c]
push edx
call dword [eax + 0x612280]
pop esi
pop ebp
pop ebx
add esp, 0x2f8
ret 0x10
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
shl eax, 2
lea ecx, [eax + 0x6123c4]
push ecx
push edx
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x3c]
call dword [eax + 0x6123c0]
pop esi
pop ebp
pop ebx
add esp, 0x2f8
ret 0x10