Function at 0x1007b190
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 0x1007b1c3
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b1b0
sub eax, edx
add eax, edi
mov dword [esp + 0x70], eax
mov esi, eax
fld dword [ebx + 8]
fld dword [esp + 0x5c]
call fcn.10114560
mov dword [esp + 0x6c], eax
fiadd dword [esp + 0x6c]
fstp dword [esp + 0x5c]
fld dword [ebx + 0xc]
fld dword [esp + 0x60]
call fcn.10114560
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 0x1007b801
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 0x1007b240
mov bl, 1
mov byte [esp + 0x6c], bl
jmp 0x1007b249
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 0x1007b2b2
test bl, bl
jne 0x1007b2b2
fld dword [ebp + 4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1007b2b4
cmp edi, esi
jae 0x1007b2b4
mov eax, esi
sub eax, edi
push eax
push 0xa
push edi
call fcn.10115570
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1007b290
add edi, 1
jmp 0x1007b292
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 0x1007b271
jmp 0x1007b2b4
fstp st(0)
mov ecx, esi
sub ecx, edi
cmp ecx, 0x2710
jle 0x1007b323
test bl, bl
jne 0x1007b323
fld dword [esp + 0x10]
mov ecx, edi
fst dword [esp + 0x70]
fld dword [ebp + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1007b31d
lea ebx, [ebx]
cmp ecx, esi
jae 0x1007b31d
mov edx, esi
sub edx, ecx
push edx
push 0xa
push ecx
call fcn.10115570
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1007b2ff
add ecx, 1
jmp 0x1007b301
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 0x1007b2e0
mov dword [esp + 0x70], ecx
mov esi, ecx
cmp edi, esi
je 0x1007b803
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.10078990
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 0x1007b760
fld dword [esp + 0x58]
cmp byte [esp + 0x6c], 0
je 0x1007b406
cmp dword [esp + 0x18], 0
jne 0x1007b3b9
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.10074f10
fld dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0x18], eax
jne 0x1007b3b9
add eax, 1
mov dword [esp + 0x18], eax
cmp edi, dword [esp + 0x18]
jb 0x1007b406
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 0x1007b75e
mov al, byte [edi]
cmp al, 0x20
je 0x1007b3f1
cmp al, 9
jne 0x1007b3f6
add edi, 1
jmp 0x1007b3df
cmp al, 0xa
jne 0x1007b752
add edi, 1
jmp 0x1007b752
movsx ebx, byte [edi]
cmp ebx, 0x80
mov dword [esp + 0x40], ebx
jae 0x1007b41a
add edi, 1
jmp 0x1007b43d
mov edx, dword [esp + 0x70]
fstp st(0)
push edx
lea eax, [esp + 0x44]
push edi
push eax
call fcn.1003a220
mov ebx, dword [esp + 0x4c]
add esp, 0xc
add edi, eax
test ebx, ebx
je 0x1007b475
fld dword [esp + 0x58]
cmp ebx, 0x20
jae 0x1007b487
cmp ebx, 0xa
jne 0x1007b47e
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 0x1007b74e
fstp st(0)
mov ebx, dword [esp + 0x54]
jmp 0x1007b760
cmp ebx, 0xd
je 0x1007b74e
fldz
mov ecx, dword [esp + 0x44]
push ebx
fstp dword [esp + 0x40]
call fcn.10074eb0
mov ecx, eax
test ecx, ecx
je 0x1007b742
cmp ebx, 0x20
fld dword [ecx + 4]
fmul st(1)
fstp dword [esp + 0x3c]
je 0x1007b742
cmp ebx, 9
je 0x1007b742
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 0x1007b740
fld dword [esp + 0x28]
fld dword [edx]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1007b73e
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 0x1007b681
fstp st(2)
fld dword [edx]
fcomp st(1)
fnstsw ax
fld dword [esp + 0x38]
test ah, 0x41
jne 0x1007b58b
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 0x1007b5d3
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 0x1007b67d
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 0x1007b64d
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 0x1007b735
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 0x1007b74e
fstp st(3)
jmp 0x1007b613
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 0x1007b742
fld dword [esp + 0x58]
jmp 0x1007b69d
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 0x1007b36b
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 0x1007b7a0
test ecx, ecx
je 0x1007b78c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1007b791
mov eax, 8
cmp eax, edi
jg 0x1007b797
mov eax, edi
push eax
lea ecx, [ebx + 0x18]
call fcn.10075bc0
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 0x1007b7d4
test ecx, ecx
je 0x1007b7c0
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1007b7c5
mov eax, 8
cmp eax, edi
jg 0x1007b7cb
mov eax, edi
push eax
lea ecx, [ebx + 0xc]
call fcn.1003f170
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