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

Disassembly:
sub esp, 0x60
push ebp
push esi
mov esi, dword [esp + 0x6c]
xor ebp, ebp
cmp esi, ebp
jne 0x10009a07
pop esi
xor eax, eax
pop ebp
add esp, 0x60
ret
push edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x40], ebp
cmp edi, ebp
je 0x10009a23
push ebp
call sym.leptonlib.dll_ptaCreate
add esp, 4
mov dword [esp + 0x40], eax
mov dword [edi], eax
push ebp
push str.c25.1__e3.1
push esi
call sym.leptonlib.dll_pixMorphSequence
push ebp
push eax
mov dword [esp + 0x5c], eax
call sym.leptonlib.dll_pixCountPixelsByRow
add esp, 0x14
mov dword [esp + 0x2c], eax
cmp eax, ebp
jne 0x10009a4e
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x60
ret
push ebx
push esi
call sym.leptonlib.dll_pixGetWidth
push esi
call sym.leptonlib.dll_pixGetHeight
mov esi, eax
push esi
call sym.leptonlib.dll_numaCreate
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x24]
push eax
push ebp
push ecx
call sym.leptonlib.dll_numaGetIValue
lea ebx, [esi - 1]
add esp, 0x18
xor eax, eax
cmp ebx, ebp
jle 0x10009abf
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x18]
lea edi, [eax + 1]
mov eax, dword [esp + 0x30]
push edx
push edi
push eax
call sym.leptonlib.dll_numaGetIValue
sub esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x48], esi
fild dword [esp + 0x48]
add esp, 8
fstp dword [esp]
push ecx
call sym.leptonlib.dll_numaAddNumber
mov eax, edi
add esp, 8
cmp eax, ebx
jl 0x10009a83
cmp dword [esp + 0x7c], ebp
je 0x10009ade
mov edx, dword [esp + 0x10]
push str.difference
push str.junkdiff
push 4
push edx
call sym.leptonlib.dll_gplotSimple1
add esp, 0x10
mov eax, dword [esp + 0x10]
push eax
call sym.leptonlib.dll_numaGetIArray
mov ecx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x2c], eax
call sym.leptonlib.dll_lheapGetCount
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x74]
mov dword [esp + 0x44], eax
push edx
lea eax, [esp + 0x5c]
push eax
push ecx
call sym.leptonlib.dll_numaGetMax
fld dword [esp + 0x64]
call fcn.10140710
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
push ebp
add ebx, edx
call sym.leptonlib.dll_numaCreate
push ebp
mov dword [esp + 0x3c], eax
call sym.leptonlib.dll_numaCreate
add esp, 0x1c
xor esi, esi
cmp dword [esp + 0x3c], ebp
mov dword [esp + 0x34], eax
jle 0x10009c0a
mov edi, edi
test ebp, ebp
jne 0x10009b85
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + esi*4]
cmp ecx, edi
jle 0x10009bd8
lea edx, [esi + 0x23]
mov ebp, 1
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
jmp 0x10009bd8
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + esi*4]
cmp ecx, dword [esp + 0x14]
jle 0x10009ba3
lea edx, [esi + 0x23]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x38], edx
jmp 0x10009bd8
cmp esi, dword [esp + 0x38]
jle 0x10009bd8
cmp ecx, ebx
jg 0x10009bd8
fild dword [esp + 0x14]
push ecx
xor ebp, ebp
fstp dword [esp]
push eax
call sym.leptonlib.dll_numaAddNumber
fild dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add esp, 4
fstp dword [esp]
push eax
call sym.leptonlib.dll_numaAddNumber
mov eax, dword [esp + 0x3c]
add esp, 8
inc esi
cmp esi, dword [esp + 0x3c]
jl 0x10009b60
test ebp, ebp
je 0x10009c0a
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
push eax
call sym.leptonlib.dll_numaAddNumber
fild dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
add esp, 4
fstp dword [esp]
push ebp
call sym.leptonlib.dll_numaAddNumber
add esp, 8
jmp 0x10009c0e
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
cmp dword [esp + 0x7c], 0
je 0x10009c6c
push str.height
push str.rasterline
push str.Peak_locations
push 4
push str.junkloc
call sym.leptonlib.dll_gplotCreate
mov edx, dword [esp + 0x48]
push str.locs
push 1
push edx
push ebp
push eax
mov dword [esp + 0x68], eax
call sym.leptonlib.dll_gplotAddPlot
mov eax, dword [esp + 0x68]
push eax
call sym.leptonlib.dll_gplotMakeOutput
lea ecx, [esp + 0x6c]
push ecx
call sym.leptonlib.dll_gplotDestroy
add esp, 0x30
mov edx, dword [esp + 0x4c]
push 0
push 0x10142db4
push edx
call sym.leptonlib.dll_pixMorphSequence
push 4
push 0
push eax
mov dword [esp + 0x80], eax
call sym.leptonlib.dll_pixConnComp
fld dword [0x10142db0]
add esp, 0x10
fst dword [esp + 4]
mov dword [esp + 0x68], eax
fstp dword [esp]
push 0
push 0
push eax
call sym.leptonlib.dll_boxaTransform
push 0
push 1
push 4
push eax
mov dword [esp + 0x88], eax
call sym.leptonlib.dll_boxaSort
mov ebx, dword [esp + 0x68]
add esp, 0x24
mov dword [esp + 0x2c], eax
test ebx, ebx
je 0x10009dbb
push ebp
call sym.leptonlib.dll_lheapGetCount
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
push eax
call sym.leptonlib.dll_boxaGetCount
xor ecx, ecx
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ecx
test eax, eax
jle 0x10009dbb
jmp 0x10009d00
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x60]
push eax
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x54]
push eax
push ecx
mov ecx, dword [esp + 0x40]
push ecx
call sym.leptonlib.dll_boxaGetBoxGeometry
xor esi, esi
add esp, 0x18
cmp dword [esp + 0x44], esi
jle 0x10009da8
lea ebx, [ebx]
lea edx, [esp + 0x28]
push edx
push esi
push ebp
call sym.leptonlib.dll_numaGetIValue
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov eax, edx
sub eax, ecx
add esp, 0xc
sub eax, edi
jns 0x10009d59
sub ecx, edx
add ecx, edi
mov eax, ecx
cmp eax, 0x19
jle 0x10009d67
inc esi
cmp esi, dword [esp + 0x44]
jl 0x10009d30
jmp 0x10009da8
fild dword [esp + 0x28]
sub esp, 8
fstp dword [esp + 4]
fild dword [esp + 0x50]
fstp dword [esp]
push ebx
call sym.leptonlib.dll_ptaAddPt
fild dword [esp + 0x34]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
add esp, 4
add ecx, eax
fstp dword [esp + 4]
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
fstp dword [esp]
push ebx
call sym.leptonlib.dll_ptaAddPt
add esp, 0xc
mov ecx, dword [esp + 0x3c]
inc ecx
cmp ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], ecx
jl 0x10009d00
cmp dword [esp + 0x7c], 0
je 0x10009e83
test ebx, ebx
je 0x10009e83
mov edx, dword [esp + 0x74]
push edx
call sym.leptonlib.dll_pixConvertTo32
push ebx
mov dword [esp + 0x7c], eax
call sym.leptonlib.dll_boxaGetCount
mov edi, eax
add esp, 8
xor esi, esi
test edi, edi
jle 0x10009e4b
lea ecx, [ecx]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x28]
push ecx
push esi
push ebx
call sym.leptonlib.dll_ptaGetIPt
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esi + 1]
push ecx
push ebx
call sym.leptonlib.dll_ptaGetIPt
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0xff
push 1
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0xac]
push ecx
push edx
push eax
call sym.leptonlib.dll_pixRenderLineArb
add esi, 2
add esp, 0x44
cmp esi, edi
jl 0x10009df0
mov ecx, dword [esp + 0x74]
push 0xc8
push 0xc8
push ecx
call sym.leptonlib.dll_pixDisplay
mov edx, dword [esp + 0x80]
push 3
push edx
push 0x10142da0
call sym.leptonlib.dll_pixWrite
lea eax, [esp + 0x8c]
push eax
call sym.leptonlib.dll_pixDestroy
add esp, 0x1c
lea ecx, [esp + 0x60]
push ecx
call sym.leptonlib.dll_boxaDestroy
lea edx, [esp + 0x68]
push edx
call sym.leptonlib.dll_boxaDestroy
lea eax, [esp + 0x34]
push eax
call sym.leptonlib.dll_boxaDestroy
lea ecx, [esp + 0x58]
push ecx
call sym.leptonlib.dll_pixDestroy
lea edx, [esp + 0x78]
push edx
call sym.leptonlib.dll_pixDestroy
lea eax, [esp + 0x44]
push eax
call sym.leptonlib.dll_numaDestroy
lea ecx, [esp + 0x28]
push ecx
call sym.leptonlib.dll_numaDestroy
lea edx, [esp + 0x50]
push edx
call sym.leptonlib.dll_numaDestroy
add esp, 0x20
pop ebx
pop edi
pop esi
mov eax, ebp
pop ebp
add esp, 0x60
ret