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

Disassembly:
sub esp, 0x80
push ebx
mov ebx, dword [esp + 0x88]
push ebp
mov ebp, dword [esp + 0x98]
push edi
mov edi, dword [esp + 0xa4]
test ebx, ebx
je 0x10025fb4
push ebx
call sym.leptonlib.dll_numaGetRefcount
add esp, 4
cmp eax, 0x20
jne 0x10025fb4
test ebp, ebp
jne 0x10025fc0
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x80
ret
cmp dword [esp + 0xa0], 0
je 0x10025fb4
cmp dword [esp + 0x94], 0
je 0x10025fdf
mov dword [esp + 0x98], 8
push esi
push 0
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
call sym.leptonlib.dll_pixGetDimensions
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
call sym.leptonlib.dll_pixCreate
mov esi, eax
push ebp
push esi
mov dword [esp + 0xb0], esi
call sym.leptonlib.dll_pixSetColormap
push ebx
push esi
call sym.leptonlib.dll_pixCopyResolution
push ebx
push esi
call sym.leptonlib.dll_pixCopyInputFormat
push ebx
call sym.leptonlib.dll_pixGetData
push esi
mov dword [esp + 0x98], eax
call sym.leptonlib.dll_pixGetData
push ebx
mov dword [esp + 0x98], eax
call sym.leptonlib.dll_dpixGetRefcount
add esp, 0x40
push esi
mov dword [esp + 0x68], eax
call sym.leptonlib.dll_dpixGetRefcount
mov ebp, 8
sub ebp, edi
mov esi, 0xff
mov ecx, ebp
add esp, 4
sar esi, cl
cmp dword [esp + 0x98], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], ebp
jne 0x100262ac
cmp dword [esp + 0x24], 0
mov dword [esp + 0x54], 0
jle 0x10026a09
lea edx, [eax*4]
mov eax, dword [esp + 0x64]
lea ecx, [eax*4]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1c], edx
mov edi, edi
mov ecx, dword [esp + 0x9c]
xor ebx, ebx
cmp ecx, 1
jne 0x1002613c
mov dword [esp + 0x14], ebx
test eax, eax
jle 0x10026277
lea ebx, [ebx]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + ebx*4]
mov edx, eax
lea ecx, [ebp + 0x10]
shr edx, cl
mov ecx, edi
mov ebx, eax
and edx, esi
shl edx, cl
lea ecx, [ebp + 8]
shr ebx, cl
lea ecx, [ebp + 0x18]
shr eax, cl
lea ecx, [edi + edi]
and ebx, esi
add edx, ebx
mov ebx, dword [esp + 0x14]
shl eax, cl
add edx, eax
mov eax, dword [esp + 0xa4]
cmp dword [eax + edx*4], 0
je 0x1002612a
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
call sym.leptonlib.dll_l_setDataBit
add esp, 8
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jl 0x100260e0
jmp 0x10026277
cmp ecx, 2
jne 0x100261aa
mov dword [esp + 0x14], ebx
test eax, eax
jle 0x10026277
lea ecx, [ecx]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + ebx*4]
mov edx, eax
lea ecx, [ebp + 0x10]
shr edx, cl
mov ecx, edi
mov ebx, eax
and edx, esi
shl edx, cl
lea ecx, [ebp + 8]
shr ebx, cl
lea ecx, [ebp + 0x18]
shr eax, cl
lea ecx, [edi + edi]
and ebx, esi
add edx, ebx
mov ebx, dword [esp + 0x14]
shl eax, cl
add edx, eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
push ecx
push ebx
push edx
call sym.leptonlib.dll_l_setDataDibit
mov eax, dword [esp + 0x1c]
inc ebx
add esp, 0xc
cmp ebx, eax
mov dword [esp + 0x14], ebx
jl 0x10026150
jmp 0x10026277
cmp ecx, 4
jne 0x10026219
test eax, eax
jle 0x10026277
jmp 0x100261c0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + ebx*4]
lea ecx, [ebp + 0x10]
mov edx, eax
shr edx, cl
mov ecx, edi
and edx, esi
shl edx, cl
mov ecx, eax
mov dword [esp + 0x64], ecx
lea ecx, [ebp + 8]
mov ebp, eax
shr ebp, cl
and ebp, esi
add edx, ebp
mov ebp, dword [esp + 0x28]
lea ecx, [ebp + 0x18]
shr eax, cl
lea ecx, [edi + edi]
shl eax, cl
add edx, eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
push ecx
push ebx
push edx
call sym.leptonlib.dll_l_setDataQbit
mov eax, dword [esp + 0x1c]
inc ebx
add esp, 0xc
cmp ebx, eax
jl 0x100261c0
jmp 0x10026277
test eax, eax
jle 0x10026277
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + ebx*4]
lea ecx, [ebp + 0x10]
mov edx, eax
shr edx, cl
mov ecx, edi
and edx, esi
shl edx, cl
mov ecx, eax
mov dword [esp + 0x64], ecx
lea ecx, [ebp + 8]
mov ebp, eax
shr ebp, cl
and ebp, esi
add edx, ebp
mov ebp, dword [esp + 0x28]
lea ecx, [ebp + 0x18]
shr eax, cl
lea ecx, [edi + edi]
shl eax, cl
add edx, eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
push ecx
push ebx
push edx
call sym.leptonlib.dll_l_setDataByte
mov eax, dword [esp + 0x1c]
inc ebx
add esp, 0xc
cmp ebx, eax
jl 0x10026220
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x54]
add dword [esp + 0x18], edx
mov edx, dword [esp + 0x50]
add dword [esp + 0x1c], edx
inc ecx
cmp ecx, dword [esp + 0x24]
mov dword [esp + 0x54], ecx
jl 0x100260c0
mov eax, dword [esp + 0x8c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x80
ret
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.MSVCR90.dll_calloc]
push 1
push eax
call esi
mov ecx, dword [esp + 0x18]
push 1
push ecx
mov dword [esp + 0x3c], eax
call esi
mov edx, dword [esp + 0x20]
mov edi, eax
push 1
push edx
mov dword [esp + 0x7c], edi
call esi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
push 4
push eax
call esi
mov ecx, dword [esp + 0x30]
push 4
push ecx
mov dword [esp + 0x58], eax
call esi
mov edx, dword [esp + 0x38]
push 4
push edx
mov dword [esp + 0x64], eax
call esi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x40]
push 4
push eax
call esi
mov ecx, dword [esp + 0x48]
push 4
push ecx
mov dword [esp + 0x60], eax
call esi
mov edx, dword [esp + 0x50]
add esp, 0x40
mov ebp, eax
push 4
push edx
mov dword [esp + 0x44], ebp
call esi
add esp, 8
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x18], eax
je 0x10026a1b
test edi, edi
je 0x10026a1b
cmp dword [esp + 0x1c], 0
je 0x10026a1b
cmp dword [esp + 0x30], 0
je 0x10026a1b
cmp dword [esp + 0x34], 0
je 0x10026a1b
cmp dword [esp + 0x38], 0
je 0x10026a1b
cmp dword [esp + 0x20], 0
je 0x10026a1b
test ebp, ebp
je 0x10026a1b
test eax, eax
je 0x10026a1b
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
push eax
push edi
push esi
push 0
push ebx
call sym.leptonlib.dll_pixGetRGBLine
add esp, 0x14
cmp dword [esp + 0x10], 0
jle 0x100263f7
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
sub edx, ebp
sub ebx, ebp
mov ecx, ebp
mov ebp, esi
mov esi, dword [esp + 0x1c]
sub ebp, edi
mov eax, edi
sub esi, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x54], edi
lea ebx, [ebx]
movzx edi, byte [eax + ebp]
shl edi, 6
mov dword [edx + ecx], edi
movzx edi, byte [eax]
shl edi, 6
mov dword [ecx], edi
movzx edi, byte [esi + eax]
shl edi, 6
mov dword [ebx + ecx], edi
inc eax
add ecx, 4
sub dword [esp + 0x54], 1
jne 0x100263d0
mov eax, dword [esp + 0x24]
lea ecx, [eax - 1]
xor ebx, ebx
test ecx, ecx
jle 0x100268f3
mov edx, dword [esp + 0x58]
mov dword [esp + 0x54], edx
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
add esi, esi
add esi, esi
push esi
push ebp
push eax
call sub.MSVCR90.dll_memcpy
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
push esi
push edi
push ecx
call sub.MSVCR90.dll_memcpy
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
push esi
push edx
push eax
call sub.MSVCR90.dll_memcpy
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x50]
push ecx
push esi
lea eax, [ebx + 1]
push edx
push eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc8]
push eax
call sym.leptonlib.dll_pixGetRGBLine
mov ebx, dword [esp + 0x48]
add esp, 0x38
test ebx, ebx
jle 0x100264cb
mov edx, ebp
mov ebp, dword [esp + 0x18]
mov ecx, edi
sub edx, edi
sub ebp, edi
mov edi, dword [esp + 0x2c]
sub edi, esi
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x1c]
mov eax, esi
sub edi, esi
mov dword [esp + 0x50], ebx
nop
mov esi, dword [esp + 0x5c]
movzx esi, byte [eax + esi]
shl esi, 6
mov dword [ecx + edx], esi
movzx esi, byte [eax]
shl esi, 6
mov dword [ecx], esi
movzx esi, byte [eax + edi]
shl esi, 6
mov dword [ecx + ebp], esi
inc eax
add ecx, 4
sub dword [esp + 0x50], 1
jne 0x100264a0
lea ecx, [ebx - 1]
mov dword [esp + 0x14], 0
test ecx, ecx
jle 0x1002685d
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov ecx, edx
sub ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, ebp
sub ecx, eax
mov dword [esp + 0x7c], ecx
lea esi, [eax + 4]
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov eax, edx
sub eax, edi
mov dword [esp + 0x68], eax
mov eax, ebp
sub eax, edi
mov dword [esp + 0x48], eax
mov eax, ebx
sub eax, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
sub eax, edi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + edi]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + edi]
mov eax, dword [edi]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x70], edx
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov ecx, ebp
sar eax, cl
mov ecx, dword [esp + 0xa8]
shl eax, cl
mov ecx, ebp
mov dword [esp + 0x6c], eax
mov eax, ebx
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
sar eax, cl
mov ecx, dword [esp + 0xa8]
add ecx, ecx
shl eax, cl
mov ecx, dword [esp + 0x6c]
add ecx, eax
mov eax, dword [esp + 0x70]
cdq
and edx, 0x3f
add eax, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x70], ecx
sar eax, 6
mov ecx, ebp
sar eax, cl
mov ecx, dword [esp + 0x70]
add ecx, eax
mov eax, dword [esp + 0xa4]
mov ebp, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
push ebp
push ecx
push edx
call sym.leptonlib.dll_l_setDataByte
lea eax, [esp + 0x8c]
push eax
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x88]
push edx
push ebp
push eax
call sym.leptonlib.dll_pixcmapGetColor
mov ecx, dword [esp + 0x94]
mov eax, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ecx*8]
sub eax, edx
add esp, 0x20
cmp eax, 0x64
jle 0x1002661b
mov eax, 0x64
jmp 0x1002662b
cmp eax, 0xffffff9c
jge 0x10026627
mov eax, 0xffffff9c
jmp 0x1002662b
test eax, eax
je 0x100266a6
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + esi]
mov edx, dword [esi - 4]
lea ebx, [eax + eax*2]
add ecx, ebx
add edx, ebx
mov ebx, dword [esi]
lea ebp, [ebx + eax*2]
test eax, eax
jle 0x1002667a
cmp ecx, 0x3fff
jle 0x10026652
mov ecx, 0x3fff
cmp edx, 0x3fff
mov eax, dword [esp + 0x40]
mov dword [eax + esi], ecx
jle 0x10026666
mov edx, 0x3fff
cmp ebp, 0x3fff
mov dword [esi - 4], edx
jle 0x10026676
mov ebp, 0x3fff
mov dword [esi], ebp
jmp 0x100266a6
jge 0x100266a6
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov ecx, dword [esp + 0x40]
mov dword [ecx + esi], eax
xor eax, eax
test edx, edx
setl al
xor ecx, ecx
dec eax
and eax, edx
test ebp, ebp
setl cl
mov dword [esi - 4], eax
dec ecx
and ecx, ebp
mov dword [esi], ecx
mov eax, dword [edi]
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x78]
sar eax, 3
lea ecx, [edx*8]
sub eax, ecx
cmp eax, 0x64
jle 0x100266ca
mov eax, 0x64
jmp 0x100266de
cmp eax, 0xffffff9c
jge 0x100266d6
mov eax, 0xffffff9c
jmp 0x100266de
test eax, eax
je 0x1002676d
mov edx, dword [esp + 0x44]
mov ecx, dword [edx + esi]
mov edx, dword [esp + 0x48]
mov edx, dword [edx + edi]
lea ebx, [eax + eax*2]
add ecx, ebx
add edx, ebx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [ebx + esi]
lea ebp, [ebp + eax*2]
test eax, eax
jle 0x1002673c
cmp ecx, 0x3fff
jle 0x1002670f
mov ecx, 0x3fff
cmp edx, 0x3fff
mov eax, dword [esp + 0x44]
mov dword [eax + esi], ecx
jle 0x10026723
mov edx, 0x3fff
cmp ebp, 0x3fff
mov ecx, dword [esp + 0x48]
mov dword [ecx + edi], edx
jle 0x10026737
mov ebp, 0x3fff
mov dword [ebx + esi], ebp
jmp 0x1002676d
jge 0x1002676d
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov ecx, dword [esp + 0x44]
mov dword [ecx + esi], eax
xor eax, eax
test edx, edx
mov ecx, dword [esp + 0x48]
setl al
dec eax
and eax, edx
xor edx, edx
test ebp, ebp
setl dl
mov dword [ecx + edi], eax
dec edx
and edx, ebp
mov dword [ebx + esi], edx
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + edi]
mov ecx, dword [esp + 0x80]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ecx*8]
sub eax, edx
cmp eax, 0x64
jle 0x10026799
mov eax, 0x64
jmp 0x100267ad
cmp eax, 0xffffff9c
jge 0x100267a5
mov eax, 0xffffff9c
jmp 0x100267ad
test eax, eax
je 0x1002683f
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ecx, dword [ecx + esi]
mov edx, dword [edx + edi]
lea ebx, [eax + eax*2]
add ecx, ebx
add edx, ebx
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + esi]
lea ebp, [ebp + eax*2]
test eax, eax
jle 0x1002680e
cmp ecx, 0x3fff
jle 0x100267e1
mov ecx, 0x3fff
cmp edx, 0x3fff
mov eax, dword [esp + 0x4c]
mov dword [eax + esi], ecx
jle 0x100267f5
mov edx, 0x3fff
cmp ebp, 0x3fff
mov ecx, dword [esp + 0x50]
mov dword [ecx + edi], edx
jle 0x10026809
mov ebp, 0x3fff
mov dword [ebx + esi], ebp
jmp 0x1002683f
jge 0x1002683f
xor eax, eax
test ecx, ecx
setl al
dec eax
and eax, ecx
mov ecx, dword [esp + 0x4c]
mov dword [ecx + esi], eax
xor eax, eax
test edx, edx
mov ecx, dword [esp + 0x50]
setl al
dec eax
and eax, edx
xor edx, edx
test ebp, ebp
setl dl
mov dword [ecx + edi], eax
dec edx
and edx, ebp
mov dword [ebx + esi], edx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
inc eax
lea ecx, [ebx - 1]
add esi, 4
add edi, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x10026544
mov edx, dword [esp + 0x34]
mov eax, dword [edx + ebx*4 - 4]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0xa8]
cdq
and edx, 0x3f
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + ebx*4 - 4]
cdq
sar ebp, 6
mov ecx, esi
sar ebp, cl
and edx, 0x3f
add eax, edx
sar eax, 6
mov ecx, edi
shl ebp, cl
mov ecx, esi
sar eax, cl
lea ecx, [edi + edi]
dec ebx
shl eax, cl
mov ecx, dword [esp + 0x38]
add ebp, eax
mov eax, dword [ecx + ebx*4]
cdq
and edx, 0x3f
add eax, edx
mov edx, dword [esp + 0xa4]
sar eax, 6
mov ecx, esi
mov esi, dword [esp + 0x54]
sar eax, cl
add ebp, eax
mov eax, dword [edx + ebp*4]
push eax
push ebx
push esi
call sym.leptonlib.dll_l_setDataByte
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x94]
add eax, eax
add eax, eax
add esi, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax - 1]
add esp, 0xc
cmp ebx, ecx
mov dword [esp + 0x54], esi
jl 0x10026410
mov edx, dword [esp + 0x58]
dec eax
imul eax, dword [esp + 0x60]
xor edi, edi
cmp dword [esp + 0x10], edi
lea eax, [edx + eax*4]
mov dword [esp + 0x7c], eax
jle 0x100269c1
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
sub ebp, esi
sub eax, esi
mov dword [esp + 0x84], eax
jmp 0x10026930
mov eax, dword [esi + ebp]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0xa8]
add ecx, ecx
shl eax, cl
mov ecx, ebx
mov dword [esp + 0x88], eax
mov eax, dword [esi]
cdq
and edx, 0x3f
add eax, edx
mov edx, dword [esp + 0x84]
sar eax, 6
sar eax, cl
mov ecx, dword [esp + 0xa8]
shl eax, cl
mov ecx, dword [esp + 0x88]
add ecx, eax
mov eax, dword [esi + edx]
cdq
and edx, 0x3f
add eax, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x88], ecx
sar eax, 6
mov ecx, ebx
sar eax, cl
mov ecx, dword [esp + 0x88]
add ecx, eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + ecx*4]
push ecx
push edi
push edx
call sym.leptonlib.dll_l_setDataByte
inc edi
add esp, 0xc
add esi, 4
cmp edi, dword [esp + 0x10]
jl 0x10026930
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.MSVCR90.dll_free]
push eax
call esi
mov ecx, dword [esp + 0x68]
push ecx
call esi
mov edx, dword [esp + 0x24]
push edx
call esi
mov eax, dword [esp + 0x3c]
push eax
call esi
mov ecx, dword [esp + 0x44]
push ecx
call esi
mov edx, dword [esp + 0x4c]
push edx
call esi
mov eax, dword [esp + 0x38]
push eax
call esi
mov ecx, dword [esp + 0x58]
push ecx
call esi
mov edx, dword [esp + 0x38]
push edx
call esi
add esp, 0x24
mov eax, dword [esp + 0x8c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x80
ret
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x80
ret