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

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
mov esi, dword [esp + 0x6c]
test esi, esi
mov ebx, ecx
push edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x44], ebx
jne 0x1007ef03
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007eef0
sub eax, edx
add eax, edi
mov dword [esp + 0x70], eax
mov esi, eax
fld dword [ebx + 8]
fld dword [esp + 0x5c]
call fcn.101185e0
mov dword [esp + 0x6c], eax
fiadd dword [esp + 0x6c]
fstp dword [esp + 0x5c]
fld dword [ebx + 0xc]
fld dword [esp + 0x60]
call fcn.101185e0
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
fiadd dword [esp + 0x6c]
fstp dword [esp + 0x60]
fld dword [esp + 0x5c]
fstp dword [esp + 0x14]
fld dword [esp + 0x60]
fst dword [esp + 0x10]
fld dword [ebp + 0xc]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x1007f541
fld dword [esp + 0x58]
fdiv dword [ebx]
fstp dword [esp + 0x58]
fld dword [ebx]
fmul dword [esp + 0x58]
fstp dword [esp + 0x1c]
fldz
fcomp dword [esp + 0x74]
fnstsw ax
test ah, 5
jp 0x1007ef80
mov bl, 1
mov byte [esp + 0x6c], bl
jmp 0x1007ef89
mov byte [esp + 0x6c], 0
mov bl, byte [esp + 0x6c]
fadd dword [esp + 0x1c]
mov dword [esp + 0x18], 0
fld dword [ebp + 4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1007eff2
test bl, bl
jne 0x1007eff2
fld dword [ebp + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1007eff4
cmp edi, esi
jae 0x1007eff4
mov eax, esi
sub eax, edi
push eax
push 0xa
push edi
call fcn.101195f0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1007efd0
add edi, 1
jmp 0x1007efd2
mov edi, esi
fld dword [esp + 0x1c]
fld st(0)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fadd dword [esp + 0x10]
fld dword [ebp + 4]
fcompp
fnstsw ax
test ah, 0x41
je 0x1007efb1
jmp 0x1007eff4
fstp st(0)
mov ecx, esi
sub ecx, edi
cmp ecx, 0x2710
jle 0x1007f063
test bl, bl
jne 0x1007f063
fld dword [esp + 0x10]
mov ecx, edi
fst dword [esp + 0x70]
fld dword [ebp + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1007f05d
lea ebx, [ebx]
cmp ecx, esi
jae 0x1007f05d
mov edx, esi
sub edx, ecx
push edx
push 0xa
push ecx
call fcn.101195f0
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1007f03f
add ecx, 1
jmp 0x1007f041
mov ecx, esi
fld dword [esp + 0x70]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
fld dword [ebp + 0xc]
fcompp
fnstsw ax
test ah, 0x41
je 0x1007f020
mov dword [esp + 0x70], ecx
mov esi, ecx
cmp edi, esi
je 0x1007f543
mov ebx, dword [esp + 0x54]
mov edx, dword [ebx + 0xc]
mov eax, esi
sub eax, edi
lea ecx, [eax + eax*2]
add eax, eax
add ecx, ecx
add eax, eax
push eax
add edx, ecx
push ecx
mov ecx, ebx
mov dword [esp + 0x54], edx
call fcn.1007c6d0
mov eax, dword [esp + 0x70]
cmp edi, eax
mov ecx, dword [ebx + 0x30]
mov esi, dword [ebx + 0x34]
mov ebp, dword [ebx + 0x38]
mov dword [esp + 0x48], ecx
jae 0x1007f4a0
fld dword [esp + 0x58]
cmp byte [esp + 0x6c], 0
je 0x1007f146
cmp dword [esp + 0x18], 0
jne 0x1007f0f9
fld dword [esp + 0x74]
push ecx
fld dword [esp + 0x18]
fsub dword [esp + 0x60]
fsubp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp]
push eax
push edi
push ecx
mov ecx, dword [esp + 0x54]
fstp dword [esp]
call fcn.10078c50
fld dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0x18], eax
jne 0x1007f0f9
add eax, 1
mov dword [esp + 0x18], eax
cmp edi, dword [esp + 0x18]
jb 0x1007f146
fld dword [esp + 0x5c]
mov ecx, dword [esp + 0x70]
fstp dword [esp + 0x14]
mov dword [esp + 0x18], 0
fld dword [esp + 0x1c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
cmp edi, ecx
jae 0x1007f49e
mov al, byte [edi]
cmp al, 0x20
je 0x1007f131
cmp al, 9
jne 0x1007f136
add edi, 1
jmp 0x1007f11f
cmp al, 0xa
jne 0x1007f492
add edi, 1
jmp 0x1007f492
movsx ebx, byte [edi]
cmp ebx, 0x80
mov dword [esp + 0x40], ebx
jae 0x1007f15a
add edi, 1
jmp 0x1007f17d
mov edx, dword [esp + 0x70]
fstp st(0)
push edx
lea eax, [esp + 0x44]
push edi
push eax
call fcn.1003df60
mov ebx, dword [esp + 0x4c]
add esp, 0xc
add edi, eax
test ebx, ebx
je 0x1007f1b5
fld dword [esp + 0x58]
cmp ebx, 0x20
jae 0x1007f1c7
cmp ebx, 0xa
jne 0x1007f1be
fld dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [ecx + 0xc]
fcompp
fnstsw ax
test ah, 5
jp 0x1007f48e
fstp st(0)
mov ebx, dword [esp + 0x54]
jmp 0x1007f4a0
cmp ebx, 0xd
je 0x1007f48e
fldz
mov ecx, dword [esp + 0x44]
push ebx
fstp dword [esp + 0x40]
call fcn.10078bf0
mov ecx, eax
test ecx, ecx
je 0x1007f482
cmp ebx, 0x20
fld dword [ecx + 4]
fmul st(1)
fstp dword [esp + 0x3c]
je 0x1007f482
cmp ebx, 9
je 0x1007f482
fld dword [ecx + 8]
mov edx, dword [esp + 0x68]
fmul st(1)
fld dword [esp + 0x14]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [ecx + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [ecx + 0xc]
fmul st(1)
fld dword [esp + 0x10]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [ecx + 0x14]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x34]
fld dword [edx + 8]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1007f480
fld dword [esp + 0x28]
fld dword [edx]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1007f47e
cmp byte [esp + 0x78], 0
fld dword [ecx + 0x18]
fstp dword [esp + 0x28]
fld dword [ecx + 0x1c]
fstp dword [esp + 0x2c]
fld dword [ecx + 0x20]
fstp dword [esp + 0x38]
fld dword [ecx + 0x24]
fstp dword [esp + 0x30]
je 0x1007f3c1
fstp st(2)
fld dword [edx]
fcomp st(1)
fnstsw ax
fld dword [esp + 0x38]
test ah, 0x41
jne 0x1007f2cb
fld st(2)
fsub dword [edx]
fld st(3)
fsubrp st(3)
fdivrp st(2)
fld1
fsubrp st(2)
fld st(0)
fld dword [esp + 0x28]
fld st(0)
fsubp st(2)
fxch st(3)
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x28]
fld dword [edx]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fxch st(1)
fld dword [esp + 0x20]
fld dword [edx + 4]
fcomp st(1)
fnstsw ax
fld dword [esp + 0x24]
test ah, 0x41
jne 0x1007f313
fld st(0)
fsub dword [edx + 4]
fld st(1)
fsubrp st(3)
fdivrp st(2)
fld1
fsubrp st(2)
fld dword [esp + 0x30]
fld dword [esp + 0x2c]
fld st(0)
fsubp st(2)
fxch st(3)
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [edx + 4]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fxch st(1)
fld dword [edx + 8]
fcomp st(5)
fnstsw ax
fld dword [esp + 0x28]
test ah, 5
jp 0x1007f3bd
fld dword [edx + 8]
fsub st(5)
fld st(5)
fsubp st(7)
fdivrp st(6)
fld st(0)
fsubp st(4)
fxch st(5)
fmulp st(3)
fld st(4)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x38]
fld dword [edx + 8]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fxch st(4)
fxch st(2)
fld dword [edx + 0xc]
fcomp st(1)
fnstsw ax
fld dword [esp + 0x2c]
test ah, 5
jp 0x1007f38d
fld dword [edx + 0xc]
fsub st(3)
fld st(3)
fsubp st(3)
fdivrp st(2)
fld dword [esp + 0x30]
fsub st(1)
fmulp st(2)
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [edx + 0xc]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fxch st(1)
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x1007f475
fstp st(1)
fstp st(0)
fstp st(0)
fstp st(1)
fstp st(1)
fstp st(0)
fld dword [esp + 0x3c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x58]
jmp 0x1007f48e
fstp st(3)
jmp 0x1007f353
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fld dword [esp + 0x2c]
fxch st(4)
fxch st(6)
fxch st(1)
fxch st(4)
fxch st(3)
fxch st(1)
mov edx, dword [esp + 0x48]
fxch st(5)
movzx eax, dx
mov word [ebp], ax
mov word [ebp + 6], ax
lea ecx, [eax + 1]
mov word [ebp + 2], cx
lea ecx, [eax + 2]
mov word [ebp + 4], cx
mov word [ebp + 8], cx
add eax, 3
mov word [ebp + 0xa], ax
mov eax, dword [esp + 0x64]
fst dword [esi]
add edx, 4
fxch st(1)
mov dword [esi + 0x10], eax
fst dword [esi + 4]
mov dword [esi + 0x24], eax
fxch st(4)
mov dword [esi + 0x38], eax
fst dword [esi + 8]
mov dword [esi + 0x4c], eax
fxch st(3)
add esi, 0x50
fst dword [esi - 0x44]
mov dword [esp + 0x48], edx
fxch st(6)
add ebp, 0xc
fst dword [esi - 0x3c]
fxch st(4)
fstp dword [esi - 0x38]
fld dword [esp + 0x38]
fst dword [esi - 0x34]
fxch st(6)
fstp dword [esi - 0x30]
fxch st(3)
fstp dword [esi - 0x28]
fst dword [esi - 0x24]
fxch st(4)
fstp dword [esi - 0x20]
fld dword [esp + 0x30]
fst dword [esi - 0x1c]
fxch st(2)
fstp dword [esi - 0x14]
fxch st(3)
fstp dword [esi - 0x10]
fxch st(2)
fstp dword [esi - 0xc]
fxch st(1)
fstp dword [esi - 8]
jmp 0x1007f482
fld dword [esp + 0x58]
jmp 0x1007f3dd
fstp st(1)
fstp st(0)
fld dword [esp + 0x3c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x70]
cmp edi, eax
jb 0x1007f0ab
fstp st(0)
mov ecx, esi
sub ecx, dword [ebx + 0x20]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebx + 0x1c]
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp edi, ecx
jle 0x1007f4e0
test ecx, ecx
je 0x1007f4cc
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1007f4d1
mov eax, 8
cmp eax, edi
jg 0x1007f4d7
mov eax, edi
push eax
lea ecx, [ebx + 0x18]
call fcn.10079900
mov dword [ebx + 0x18], edi
mov ecx, dword [ebx + 0x10]
mov edi, ebp
sub edi, dword [ebx + 0x14]
sar edi, 1
cmp edi, ecx
jle 0x1007f514
test ecx, ecx
je 0x1007f500
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1007f505
mov eax, 8
cmp eax, edi
jg 0x1007f50b
mov eax, edi
push eax
lea ecx, [ebx + 0xc]
call fcn.10042eb0
mov dword [ebx + 0xc], edi
mov edx, dword [ebx]
mov eax, dword [ebx + 8]
shl edx, 5
mov ecx, edi
sub ecx, dword [esp + 0x4c]
lea eax, [edx + eax - 0x20]
add dword [eax], ecx
mov edx, dword [ebx + 0x18]
pop edi
mov dword [ebx + 0x34], esi
pop esi
mov dword [ebx + 0x38], ebp
pop ebp
mov dword [ebx + 0x30], edx
pop ebx
add esp, 0x40
ret 0x28
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 0x28