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

Disassembly:
sub esp, 0x64
push esi
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x1000e7f5
mov eax, dword [esp + 0x6c]
pop esi
add esp, 0x64
ret
push ebp
mov ebp, dword [esp + 0x78]
test ebp, ebp
je 0x1000e827
push esi
call sym.leptonlib.dll_numaGetRefcount
add esp, 4
cmp eax, 1
je 0x1000e827
push ebp
call sym.leptonlib.dll_numaGetRefcount
add esp, 4
cmp eax, 8
jne 0x1000e827
push ebp
call sym.leptonlib.dll_pixGetColormap
add esp, 4
test eax, eax
je 0x1000e831
mov eax, dword [esp + 0x70]
pop ebp
pop esi
add esp, 0x64
ret
push ebx
mov ebx, dword [esp + 0x74]
cmp ebx, esi
jne 0x1000e847
push esi
call sym.leptonlib.dll_pixGetColormap
add esp, 4
test eax, eax
jne 0x1000e84f
test ebx, ebx
je 0x1000e858
cmp ebx, esi
je 0x1000e858
mov eax, ebx
pop ebx
pop ebp
pop esi
add esp, 0x64
ret
fldz
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1000e879
fld1
fcompp
fnstsw ax
test ah, 5
jp 0x1000e888
jmp 0x1000e87b
fstp st(0)
fld dword [0x10142f34]
fstp dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
cmp eax, 0xffffffff
je 0x1000e89d
test eax, eax
jl 0x1000e89d
cmp eax, 0x7f
jle 0x1000e8a8
mov dword [esp + 0x8c], 0x40
push edi
push 0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x3c]
push ecx
push esi
call sym.leptonlib.dll_pixGetDimensions
push 0
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x34]
push eax
push ebp
call sym.leptonlib.dll_pixGetDimensions
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
push ecx
push edx
push edi
push eax
call sym.leptonlib.dll_boxCreate
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
push ecx
push edx
push 0
push 0
mov dword [esp + 0x54], eax
call sym.leptonlib.dll_boxCreate
mov edx, dword [esp + 0x54]
add esp, 0x40
lea ecx, [esp + 0x5c]
push ecx
push eax
push edx
mov dword [esp + 0x64], eax
call sym.leptonlib.dll_boxIntersects
lea eax, [esp + 0x64]
push eax
call sym.leptonlib.dll_boxDestroy
add esp, 0x10
cmp dword [esp + 0x5c], 0
jne 0x1000e945
lea ecx, [esp + 0x14]
push ecx
call sym.leptonlib.dll_boxDestroy
add esp, 4
pop edi
mov eax, ebx
pop ebx
pop ebp
pop esi
add esp, 0x64
ret
test ebx, ebx
jne 0x1000e9b7
push 3
push esi
call sym.leptonlib.dll_pixRemoveColormap
push eax
mov dword [esp + 0x88], eax
call sym.leptonlib.dll_numaGetRefcount
add esp, 0xc
cmp eax, 8
jge 0x1000e976
mov edx, dword [esp + 0x7c]
push ebx
push edx
call sym.leptonlib.dll_pixConvertTo8
add esp, 8
jmp 0x1000e983
mov eax, dword [esp + 0x7c]
push eax
call sym.leptonlib.dll_boxClone
add esp, 4
push eax
push 0
mov dword [esp + 0x18], eax
call sym.leptonlib.dll_pixCopy
lea ecx, [esp + 0x84]
push ecx
mov dword [esp + 0x84], eax
call sym.leptonlib.dll_pixDestroy
lea edx, [esp + 0x1c]
push edx
call sym.leptonlib.dll_pixDestroy
mov ebx, dword [esp + 0x88]
add esp, 0x10
mov eax, dword [esp + 0x14]
push 0
push eax
push ebx
call sym.leptonlib.dll_pixClipRectangle
push 0
push eax
mov dword [esp + 0x90], eax
call sym.leptonlib.dll_pixConvertTo8
fld dword [0x10142f34]
add esp, 0x14
push 0
lea ecx, [esp + 0x64]
push ecx
push ecx
fstp dword [esp]
push 1
push 0
push 0
push 0
push eax
mov dword [esp + 0x30], eax
call sym.leptonlib.dll_pixGetRankValueMasked
fld dword [esp + 0x80]
fadd qword [0x10142230]
add esp, 0x20
call fcn.10140710
cmp eax, 0x80
jge 0x1000ea20
mov edx, dword [esp + 0x90]
add eax, edx
jmp 0x1000ea27
sub eax, dword [esp + 0x90]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x7c]
push eax
call sym.leptonlib.dll_pixDestroy
lea ecx, [esp + 0x14]
push ecx
call sym.leptonlib.dll_pixDestroy
lea edx, [esp + 0x1c]
push edx
call sym.leptonlib.dll_boxDestroy
push ebx
call sym.leptonlib.dll_numaGetRefcount
push ebx
mov dword [esp + 0x78], eax
call sym.leptonlib.dll_dpixGetRefcount
push ebx
mov esi, eax
call sym.leptonlib.dll_pixGetData
push ebp
mov ebx, eax
call sym.leptonlib.dll_boxClone
push eax
mov dword [esp + 0x74], eax
call sym.leptonlib.dll_pixGetData
mov ebp, eax
mov eax, dword [esp + 0x74]
push eax
call sym.leptonlib.dll_dpixGetRefcount
add esp, 0x24
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0
jle 0x1000ecf5
lea edx, [eax*4]
lea eax, [esi*4]
imul esi, edi
mov ecx, edi
lea esi, [ebx + esi*4]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], esi
test ecx, ecx
jl 0x1000ecc5
cmp ecx, dword [esp + 0x40]
jge 0x1000ecc5
mov eax, dword [esp + 0x64]
cmp eax, 8
je 0x1000ec3b
cmp eax, 0x20
jne 0x1000ecc5
xor eax, eax
mov dword [esp + 0x48], eax
test edx, edx
jle 0x1000ecc5
mov ecx, dword [esp + 0x84]
lea ebp, [esi + ecx*4]
jmp 0x1000eb10
mov ecx, dword [esp + 0x84]
add ecx, eax
js 0x1000ec26
cmp ecx, dword [esp + 0x34]
jge 0x1000ec26
mov edx, dword [esp + 0x24]
push eax
push edx
call sym.leptonlib.dll_l_getDataByte
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [ebp]
push ecx
push eax
mov dword [esp + 0x5c], eax
call sym.leptonlib.dll_extractRGBValues
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add esp, 0x18
cmp esi, edi
jle 0x1000eb6b
mov ecx, esi
mov dword [esp + 0x18], ecx
jmp 0x1000eb71
mov ecx, edi
mov dword [esp + 0x18], edi
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jg 0x1000eb7f
mov ecx, ebx
mov dword [esp + 0x18], ecx
cmp ecx, 1
jg 0x1000eb8d
mov ecx, 1
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x38]
sub eax, ecx
mov edx, 0xff
sub edx, dword [esp + 0x68]
imul eax, edx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
fmul dword [esp + 0x8c]
fidiv dword [esp + 0x18]
fstp dword [esp + 0x68]
fild dword [esp + 0x28]
fld dword [esp + 0x68]
fld st(0)
fmulp st(2)
fld qword [0x10142230]
fadd st(2), st(0)
fxch st(2)
call fcn.10140710
fild dword [esp + 0x2c]
add esi, eax
mov dword [esp + 0x28], esi
fmul st(1)
fadd st(2)
call fcn.10140710
fimul dword [esp + 0x30]
add edi, eax
mov dword [esp + 0x2c], edi
faddp st(1)
call fcn.10140710
add ebx, eax
lea eax, [esp + 0x44]
push eax
push ebx
push edi
push esi
mov dword [esp + 0x40], ebx
call sym.leptonlib.dll_composeRGBPixel
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [ebp], ecx
mov edx, dword [esp + 0x2c]
add esp, 0x10
inc eax
add ebp, 4
cmp eax, edx
mov dword [esp + 0x48], eax
jl 0x1000eb10
jmp 0x1000ecc5
xor ebx, ebx
test edx, edx
jle 0x1000ecc5
mov esi, dword [esp + 0x84]
lea esp, [esp]
test esi, esi
jl 0x1000ecbf
cmp esi, dword [esp + 0x34]
jge 0x1000ecbf
mov edx, dword [esp + 0x20]
push esi
push edx
call sym.leptonlib.dll_l_getDataByte
mov edi, eax
mov eax, dword [esp + 0x2c]
push ebx
push eax
call sym.leptonlib.dll_l_getDataByte
mov edx, dword [esp + 0x48]
mov ecx, eax
sub edx, edi
mov eax, 0xff
sub eax, ecx
imul eax, edx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fmul dword [esp + 0x9c]
fadd qword [0x10142230]
call fcn.10140710
add eax, edi
push eax
mov eax, dword [esp + 0x34]
push esi
push eax
call sym.leptonlib.dll_l_setDataByte
mov edx, dword [esp + 0x38]
add esp, 0x1c
inc ebx
inc esi
cmp ebx, edx
jl 0x1000ec50
mov ecx, dword [esp + 0x70]
add dword [esp + 0x24], ecx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
add esi, dword [esp + 0x6c]
inc eax
inc ecx
cmp eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x50], ecx
jl 0x1000eac3
lea edx, [esp + 0x54]
push edx
call sym.leptonlib.dll_pixDestroy
mov eax, dword [esp + 0x7c]
add esp, 4
pop edi
pop ebx
pop ebp
pop esi
add esp, 0x64
ret