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

Disassembly:
mov eax, dword [esp + 0x18]
sub esp, 0x48
test eax, eax
je 0x100673f1
mov dword [eax], 0
push esi
mov esi, dword [esp + 0x50]
test esi, esi
jne 0x10067401
xor eax, eax
pop esi
add esp, 0x48
ret
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
push esi
call sym.leptonlib.dll_pixGetDimensions
add esp, 0x10
cmp dword [esp + 0x38], 8
jne 0x100673fa
push ebx
mov ebx, dword [esp + 0x58]
test ebx, ebx
jle 0x1006795c
mov ecx, dword [esp + 0x2c]
cmp ebx, ecx
jge 0x1006795c
push edi
mov edi, dword [esp + 0x60]
test edi, edi
jle 0x10067953
mov eax, dword [esp + 0x34]
cmp edi, eax
jge 0x10067953
push ebp
push 0x20
push eax
push ecx
mov dword [esp + 0x48], 0
call sym.leptonlib.dll_pixCreate
push eax
mov dword [esp + 0x40], eax
call sym.leptonlib.dll_pixSetAll
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push 8
push eax
push ecx
call sym.leptonlib.dll_pixCreate
push 0
push esi
mov dword [esp + 0x64], eax
call sym.leptonlib.dll_pixGetLinePtrs
mov edx, dword [esp + 0x64]
push 0
push edx
mov dword [esp + 0x50], eax
call sym.leptonlib.dll_pixGetLinePtrs
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x5c]
push 0
push eax
call sym.leptonlib.dll_pixGetLinePtrs
push 1
push 0
mov ebp, eax
call sym.leptonlib.dll_lheapCreate
lea ecx, [esp + 0x58]
push ecx
push edi
push ebx
push esi
mov dword [esp + 0x5c], eax
call sym.leptonlib.dll_pixGetPixel
add esp, 0x4c
push 0
push edi
push ebx
call fcn.10067240
fldz
lea edx, [esp + 0x28]
push edx
mov esi, eax
mov eax, dword [esp + 0x6c]
fstp dword [esi]
push edi
push ebx
push eax
call sym.leptonlib.dll_pixGetPixel
mov ecx, dword [esp + 0x38]
push 0
push edi
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x54]
push ebx
push edx
call sym.leptonlib.dll_pixSetPixel
mov eax, dword [esp + 0x3c]
push esi
push eax
call sym.leptonlib.dll_lheapAdd
mov ecx, dword [esp + 0x44]
push ecx
call sym.leptonlib.dll_lheapGetCount
add esp, 0x38
test eax, eax
jle 0x100677c5
nop
mov edx, dword [esp + 0x10]
push edx
call sym.leptonlib.dll_lheapRemove
mov ebx, eax
add esp, 4
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x100677b1
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 8]
cmp edi, dword [esp + 0x68]
jne 0x10067551
cmp esi, dword [esp + 0x6c]
je 0x100677bb
fld dword [ebx]
call fcn.10140710
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
test edi, edi
jle 0x100675f4
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + esi*4]
lea ebx, [edi - 1]
push ebx
push ecx
call sym.leptonlib.dll_l_getDataByte
mov edx, dword [ebp + esi*4]
push ebx
push edx
mov dword [esp + 0x30], eax
call sym.leptonlib.dll_l_getDataFourBytes
mov edx, dword [esp + 0x30]
mov ecx, edx
add esp, 0x10
sub ecx, dword [esp + 0x18]
jns 0x100675a4
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 1]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x100675f4
mov eax, dword [ebp + esi*4]
push ecx
push ebx
push eax
call sym.leptonlib.dll_l_setDataFourBytes
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + esi*4]
push 4
push ebx
push edx
call sym.leptonlib.dll_l_setDataByte
push 0
push esi
push ebx
call fcn.10067240
fild dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0xc], ecx
fstp dword [eax]
mov edx, dword [esp + 0x34]
push eax
push edx
call sym.leptonlib.dll_lheapAdd
add esp, 0x2c
test esi, esi
jle 0x10067679
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + esi*4 - 4]
push edi
push ecx
call sym.leptonlib.dll_l_getDataByte
mov edx, dword [ebp + esi*4 - 4]
push edi
push edx
mov ebx, eax
call sym.leptonlib.dll_l_getDataFourBytes
mov edx, dword [esp + 0x28]
mov ecx, ebx
add esp, 0x10
sub ecx, edx
jns 0x10067629
mov ecx, edx
sub ecx, ebx
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 1]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x10067679
mov eax, dword [ebp + esi*4 - 4]
push ecx
push edi
push eax
call sym.leptonlib.dll_l_setDataFourBytes
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + esi*4 - 4]
push 2
push edi
push edx
call sym.leptonlib.dll_l_setDataByte
push 0
lea eax, [esi - 1]
push eax
push edi
call fcn.10067240
fild dword [esp + 0x38]
mov dword [eax + 0xc], ebx
push eax
fstp dword [eax]
mov ecx, dword [esp + 0x38]
push ecx
call sym.leptonlib.dll_lheapAdd
add esp, 0x2c
mov edx, dword [esp + 0x34]
dec edx
cmp edi, edx
jge 0x1006770b
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + esi*4]
lea ebx, [edi + 1]
push ebx
push ecx
call sym.leptonlib.dll_l_getDataByte
mov edx, dword [ebp + esi*4]
push ebx
push edx
mov dword [esp + 0x30], eax
call sym.leptonlib.dll_l_getDataFourBytes
mov edx, dword [esp + 0x30]
mov ecx, edx
add esp, 0x10
sub ecx, dword [esp + 0x18]
jns 0x100676bb
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 1]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x1006770b
mov eax, dword [ebp + esi*4]
push ecx
push ebx
push eax
call sym.leptonlib.dll_l_setDataFourBytes
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + esi*4]
push 3
push ebx
push edx
call sym.leptonlib.dll_l_setDataByte
push 0
push esi
push ebx
call fcn.10067240
fild dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0xc], ecx
fstp dword [eax]
mov edx, dword [esp + 0x34]
push eax
push edx
call sym.leptonlib.dll_lheapAdd
add esp, 0x2c
mov eax, dword [esp + 0x38]
dec eax
cmp esi, eax
jge 0x1006778f
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + esi*4 + 4]
push edi
push edx
call sym.leptonlib.dll_l_getDataByte
mov ebx, eax
mov eax, dword [ebp + esi*4 + 4]
push edi
push eax
call sym.leptonlib.dll_l_getDataFourBytes
mov edx, dword [esp + 0x28]
mov ecx, ebx
add esp, 0x10
sub ecx, edx
jns 0x10067741
sub edx, ebx
mov ecx, edx
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 1]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x1006778f
mov eax, dword [ebp + esi*4 + 4]
push ecx
push edi
push eax
call sym.leptonlib.dll_l_setDataFourBytes
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + esi*4 + 4]
push 1
push edi
push edx
call sym.leptonlib.dll_l_setDataByte
push 0
inc esi
push esi
push edi
call fcn.10067240
fild dword [esp + 0x38]
push eax
mov dword [eax + 0xc], ebx
fstp dword [eax]
mov eax, dword [esp + 0x38]
push eax
call sym.leptonlib.dll_lheapAdd
add esp, 0x2c
mov ecx, dword [esp + 0x48]
push ecx
call dword [sym.imp.MSVCR90.dll_free]
mov edx, dword [esp + 0x14]
push edx
call sym.leptonlib.dll_lheapGetCount
add esp, 8
test eax, eax
jg 0x10067520
jmp 0x100677c5
pop ebp
pop edi
pop ebx
xor eax, eax
pop esi
add esp, 0x48
ret
push ebx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea eax, [esp + 0x10]
push 1
push eax
call sym.leptonlib.dll_lheapDestroy
mov esi, dword [esp + 0x78]
add esp, 8
test esi, esi
je 0x100677ef
mov ecx, dword [esp + 0x5c]
push ecx
call sym.leptonlib.dll_pixConvert8To32
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esi], eax
lea edx, [esp + 0x50]
push edx
push 0
push 0
push 0xff
call sym.leptonlib.dll_composeRGBPixel
lea eax, [esp + 0x5c]
push eax
push 0
push 0xff
push 0
call sym.leptonlib.dll_composeRGBPixel
lea ecx, [esp + 0x74]
push ecx
push 0xff
push 0
push 0
call sym.leptonlib.dll_composeRGBPixel
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
push 0
mov dword [esp + 0xa4], esi
mov dword [esp + 0x90], edi
call sym.leptonlib.dll_ptaCreate
add esp, 0x34
mov ebx, eax
fild dword [esp + 0x5c]
sub esp, 8
fstp dword [esp + 4]
fild dword [esp + 0x78]
fstp dword [esp]
push ebx
call sym.leptonlib.dll_ptaAddPt
mov ecx, dword [esp + 0x6c]
add esp, 0xc
cmp esi, ecx
jne 0x1006787b
mov eax, dword [esp + 0x64]
cmp edi, eax
je 0x100678ee
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10067893
mov edx, dword [esp + 0x4c]
push edx
push edi
push esi
push eax
call sym.leptonlib.dll_pixSetPixel
add esp, 0x10
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x1c]
push eax
push edi
push esi
push ecx
call sym.leptonlib.dll_pixGetPixel
mov eax, dword [esp + 0x2c]
add esp, 0x10
cmp eax, 1
jne 0x100678b7
dec edi
mov dword [esp + 0x5c], edi
jmp 0x100678d5
cmp eax, 2
jne 0x100678c3
inc edi
mov dword [esp + 0x5c], edi
jmp 0x100678d5
cmp eax, 4
jne 0x100678cb
inc esi
jmp 0x100678d1
cmp eax, 3
jne 0x100678d5
dec esi
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1c]
push edx
push edi
push esi
push eax
call sym.leptonlib.dll_pixGetPixel
add esp, 0x10
jmp 0x10067850
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x1006791b
mov edx, dword [esp + 0x50]
push edx
push eax
push ecx
push esi
call sym.leptonlib.dll_pixSetPixel
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push eax
push ecx
push edx
push esi
call sym.leptonlib.dll_pixSetPixel
add esp, 0x20
lea eax, [esp + 0x40]
push eax
call sym.leptonlib.dll_pixDestroy
lea ecx, [esp + 0x34]
push ecx
call sym.leptonlib.dll_pixDestroy
mov edx, dword [esp + 0x2c]
mov esi, dword [sym.imp.MSVCR90.dll_free]
push edx
call esi
mov eax, dword [esp + 0x34]
push eax
call esi
push ebp
call esi
add esp, 0x14
pop ebp
pop edi
mov eax, ebx
pop ebx
pop esi
add esp, 0x48
ret
pop edi
pop ebx
xor eax, eax
pop esi
add esp, 0x48
ret
pop ebx
xor eax, eax
pop esi
add esp, 0x48
ret