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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x50], ecx
lea esi, [eax + esi*4]
lea edi, [edi + ebx*4]
mov eax, dword [esi]
mov ebx, dword [edi]
mov dword [esp + 0x60], eax
mov edx, ebx
mov dword [esp + 0x5c], ebx
mov ebx, eax
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x74], eax
call fcn.6fd65780
mov edx, dword [ebx + 0x2c04]
mov eax, dword [ebx + 0x2c00]
mov ebx, edx
or ebx, eax
fld1
je 0x6fde2891
mov ebx, dword [esp + 0x5c]
mov ecx, dword [ebx + 0x2c00]
mov ebx, dword [ebx + 0x2c04]
mov ebp, ebx
or ebp, ecx
jne 0x6fde2c09
mov ebx, dword [esp + 0x60]
mov eax, dword [ebx + 0x48]
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x2c1c]
imul eax, edx
test ecx, ecx
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fild qword [ebx + 0x2c18]
js 0x6fde2d6f
mov eax, dword [esp + 0x5c]
fdiv st(1)
fstp dword [esp + 0x58]
fild qword [eax + 0x2c18]
mov eax, dword [eax + 0x2c1c]
test eax, eax
js 0x6fde2d7a
fdivrp st(1)
fst dword [esp + 0x68]
fld dword [esp + 0x58]
fsubp st(1)
fabs
fld dword [0x707658f8]
fcompi st(1)
fstp st(0)
jbe 0x6fde290c
fld st(0)
fsubr dword [0x707658e0]
fabs
fld dword [0x707658fc]
fcompi st(1)
fstp st(0)
ja 0x6fde2bfa
fnstcw word [esp + 0x7e]
mov ebx, dword [esp + 0x50]
fmul dword [0x70765900]
movzx eax, word [esp + 0x7e]
fadd dword [0x707658f8]
or ax, 0xc00
mov word [esp + 0x7c], ax
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x6c], 7
cmp eax, 0x7f
mov dword [ebx + 0x70], eax
jle 0x6fde2dc8
sar eax, 1
cmp eax, 0x7f
jle 0x6fde2dab
sar eax, 1
cmp eax, 0x7f
jle 0x6fde2ddf
sar eax, 1
cmp eax, 0x7f
jle 0x6fde2df5
sar eax, 1
cmp eax, 0x7f
jle 0x6fde2e0b
sar eax, 1
cmp eax, 0x7f
jle 0x6fde2e00
sar eax, 1
cmp eax, 0x7f
jle 0x6fde2dea
mov dword [ebx + 0x6c], 0
xor ebp, ebp
xor ebx, ebx
sar eax, 1
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], ebp
cmp eax, 0x7f
mov edx, 0x7f
mov esi, dword [esi]
cmovle edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x6c], edx
mov dword [eax + 0x70], edx
mov eax, dword [edi]
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x18]
mov eax, dword [eax]
test edx, edx
mov dword [esp + 0x44], eax
jle 0x6fde2bfc
lea ebx, [edi*8]
xor ecx, ecx
mov eax, dword [esi + 0x44]
mov dword [esp + 0x4c], ebx
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x30], ebx
mov ebx, edi
mov edi, esi
mov dword [esp + 0x3c], ebp
mov esi, ebx
mov dword [esp + 0x40], ecx
lea esi, [esi]
mov ebx, dword [esp + 0x30]
lea ebp, [ebx*4]
xor ebx, ebx
test eax, eax
jle 0x6fde2a7b
jmp 0x6fde2a30
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x44]
mov ecx, dword [edi]
mov dword [esp + 4], esi
add eax, ebx
add ecx, eax
add eax, edx
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [0x70e9d60c]
mov ecx, dword [edi + 0x19f0]
mov ecx, dword [ecx + ebp]
cmp eax, ecx
cmovge eax, ecx
add ebx, 8
add dword [esp + 0x40], eax
add ebp, 4
mov eax, dword [edi + 0x44]
inc dword [esp + 0x30]
cmp ebx, eax
jl 0x6fde2a30
mov edx, dword [edi + 0x48]
add dword [esp + 0x48], 8
mov ebp, dword [esp + 0x4c]
add dword [esp + 0x3c], ebp
mov ebx, dword [esp + 0x48]
cmp ebx, edx
jl 0x6fde2a10
mov eax, dword [esp + 0x40]
test eax, eax
je 0x6fde2bfc
movzx ecx, byte [esp + 0x54]
mov edi, 1
mov ebx, dword [esp + 0x6c]
fnstcw word [esp + 0x7e]
shl edi, cl
mov dword [esp + 0x30], edi
fild dword [esp + 0x30]
mov dword [esp + 0x30], ebx
movzx eax, word [esp + 0x7e]
fild dword [esp + 0x30]
fmul dword [esp + 0x68]
or ax, 0xc00
mov word [esp + 0x7c], ax
fdiv st(1)
fld dword [esp + 0x58]
fadd dword [0x707658f8]
fsubrp st(1)
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov esi, dword [esp + 0x78]
lea eax, [esi + 0x80]
cmp eax, 0xff
jbe 0x6fde2b64
cmp esi, 0xffffff81
jge 0x6fde2d85
fld dword [0x707658f0]
mov esi, 0xffffff80
fsubr dword [esp + 0x58]
xor ebx, ebx
mov dword [esp + 0x84], ebx
mov ebx, 0x7f
mov ebp, 0x7f
mov dword [esp + 0x88], ebp
fmulp st(1)
fdiv dword [esp + 0x68]
fadd dword [0x707658f8]
fldcw word [esp + 0x7c]
fistp dword [esp + 0x78]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x78]
cmp eax, 0x7f
cmovl ebx, eax
mov dword [esp + 0x8c], eax
test ebx, ebx
mov eax, 0
cmovs ebx, eax
jmp 0x6fde2b66
fstp st(0)
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x64]
mov eax, ecx
add eax, 0x68
mov dword [ecx + 0x70], ebx
mov dword [ecx + 0x6c], edx
mov dword [ecx + 0x74], esi
mov byte [ecx + 0x68], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call fcn.6fde2690
sub esp, 0x10
cmp eax, dword [esp + 0x40]
jae 0x6fde2d43
mov edx, dword [esp + 0x54]
test edx, edx
je 0x6fde2bf0
test bl, 1
mov edx, 1
mov ecx, dword [esp + 0x54]
je 0x6fde2bd5
jmp 0x6fde2be4
test bl, 1
jne 0x6fde2bdc
dec ecx
sar ebx, 1
test ecx, ecx
jg 0x6fde2bd0
test edx, edx
mov dword [esp + 0x54], ecx
je 0x6fde2bfc
movzx ecx, byte [esp + 0x54]
mov edi, 1
shl edi, cl
cmp ebx, edi
jne 0x6fde2c3c
test esi, esi
jne 0x6fde2c3c
jmp 0x6fde2bfc
fstp st(0)
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
fstp st(0)
mov dword [esp + 0x30], eax
test edx, edx
mov dword [esp + 0x34], edx
fild qword [esp + 0x30]
js 0x6fde2da0
mov dword [esp + 0x30], ecx
test ebx, ebx
mov dword [esp + 0x34], ebx
fild qword [esp + 0x30]
js 0x6fde2d95
fdivp st(1)
fsqrt
jmp 0x6fde2891
mov edi, dword [esp + 0x40]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
fild qword [esp + 0x30]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ecx
fild qword [esp + 0x30]
fdivp st(1)
fld dword [0x70765904]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x6fde2bfc
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x70]
mov dword [edx + 0x70], ebx
mov dword [edx + 0x6c], ebp
mov dword [edx + 0x74], esi
mov byte [edx + 0x68], 1
mov edx, dword [esp + 0x74]
sub ecx, edx
xor edx, edx
div edi
xor edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
fild qword [esp + 0x30]
fstp qword [eax + ecx*8 + 0x2c38]
xor eax, eax
test ebp, ebp
mov dword [esp + 0x30], eax
je 0x6fde2cc0
lea ecx, [ebp - 1]
mov edi, 0x40
shl edi, cl
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x5c]
xor ebp, ebp
mov edx, dword [esp + 0x54]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x44], ebx
mov edi, dword [eax + 0x18]
add edx, 6
mov dword [esp + 0x3c], edx
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esi + ebp*4 + 0x28]
mov dword [esp + 4], eax
mov eax, dword [edi + ebp*4 + 0x2c]
inc ebp
mov dword [esp], eax
call dword [0x70e9dc48]
cmp ebp, 4
jne 0x6fde2ce4
mov eax, dword [esp + 0x50]
mov byte [eax + 0x50], 1
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x6fde2bfc
test byte [esp + 0x6c], 1
mov eax, dword [esp + 0x40]
jne 0x6fde2bfc
mov ebx, dword [esp + 0x6c]
xor edx, edx
xor esi, esi
mov ecx, dword [esp + 0x54]
jmp 0x6fde2bd5
fadd dword [0x707658f4]
jmp 0x6fde28ba
fadd dword [0x707658f4]
jmp 0x6fde28d8
fld dword [0x707658ec]
mov esi, 0x7f
jmp 0x6fde2b11
fadd dword [0x707658f4]
jmp 0x6fde2c33
fadd dword [0x707658f4]
jmp 0x6fde2c1f
mov ecx, 6
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x54], ebx
mov dword [edx + 0x6c], ebx
jmp 0x6fde29af
mov ebx, 7
mov ebp, 7
mov dword [esp + 0x54], ebx
mov dword [esp + 0x64], ebp
jmp 0x6fde29af
mov edx, 5
mov dword [esp + 0x64], edx
jmp 0x6fde2db4
mov edx, 1
mov dword [esp + 0x64], edx
jmp 0x6fde2db4
mov ebp, 4
mov dword [esp + 0x64], ebp
jmp 0x6fde2db4
mov ecx, 2
mov dword [esp + 0x64], ecx
jmp 0x6fde2db4
mov ebx, 3
mov dword [esp + 0x64], ebx
jmp 0x6fde2db4