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

Disassembly:
sub esp, 0x34
push edi
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x1002cc46
push edi
call sym.leptonlib.dll_numaGetRefcount
add esp, 4
cmp eax, 1
jne 0x1002cc46
push ebp
mov ebp, dword [esp + 0x44]
test ebp, ebp
jne 0x1002c993
pop ebp
xor eax, eax
pop edi
add esp, 0x34
ret
push ebx
push esi
push 0
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x40]
push ecx
push edi
call sym.leptonlib.dll_pixGetDimensions
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
dec ebx
dec esi
push edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], esi
call sym.leptonlib.dll_pixGetData
push edi
mov dword [esp + 0x48], eax
call sym.leptonlib.dll_dpixGetRefcount
mov edi, dword [esp + 0x68]
add esp, 0x18
mov dword [esp + 0x40], eax
test edi, edi
jl 0x1002cc3c
cmp edi, ebx
jg 0x1002cc3c
mov ebx, dword [esp + 0x54]
test ebx, ebx
jl 0x1002cc3c
cmp ebx, esi
jg 0x1002cc3c
mov edx, dword [esp + 0x30]
imul eax, ebx
lea eax, [edx + eax*4]
push edi
push eax
call sym.leptonlib.dll_l_getDataBit
add esp, 8
test eax, eax
je 0x1002cc3c
lea ecx, [esp + 0x10]
push ecx
push esi
mov eax, 0x186a0
push 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
xor eax, eax
push edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x24], eax
push edi
push ebp
lea eax, [esp + 0x60]
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x30]
mov esi, ebx
call fcn.1002c490
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x28]
push edx
push eax
push 0xffffffffffffffff
push edi
push edi
lea esi, [ebx + 1]
push ebp
lea eax, [esp + 0x78]
lea edx, [esp + 0x44]
lea ecx, [esp + 0x48]
call fcn.1002c490
add esp, 0x30
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], ebx
jmp 0x1002ca85
mov ebp, dword [esp + 0x4c]
push ebp
call sym.leptonlib.dll_lstackGetCount
add esp, 4
test eax, eax
jle 0x1002cc12
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov eax, ebp
call fcn.1002c5b0
mov edx, dword [esp + 0x50]
imul edx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
add esp, 0x10
lea esi, [eax + edx*4]
add ebx, 0xffffffff
mov dword [esp + 0x28], esi
mov edi, ebx
js 0x1002caf1
push edi
push esi
call sym.leptonlib.dll_l_getDataBit
add esp, 8
cmp eax, 1
jne 0x1002caf1
push edi
push esi
call sym.leptonlib.dll_l_clearDataBit
add esp, 8
sub edi, 1
jns 0x1002cad3
cmp edi, ebx
jge 0x1002cbce
lea ebp, [edi + 1]
cmp ebp, dword [esp + 0x20]
jge 0x1002cb36
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x50]
push edx
neg eax
push eax
push ebx
push ebp
push ecx
lea eax, [esp + 0x60]
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x30]
call fcn.1002c490
mov esi, dword [esp + 0x40]
add esp, 0x18
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
cmp edi, ebx
jg 0x1002cb60
push edi
push esi
call sym.leptonlib.dll_l_getDataBit
add esp, 8
cmp eax, 1
jne 0x1002cb60
push edi
push esi
call sym.leptonlib.dll_l_clearDataBit
inc edi
add esp, 8
cmp edi, ebx
jle 0x1002cb42
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
lea edx, [esp + 0x10]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
lea ebx, [edi - 1]
push ebx
push ebp
push edx
lea eax, [esp + 0x60]
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x30]
call fcn.1002c490
mov ebp, dword [esp + 0x4c]
add esp, 0x18
cmp edi, ebp
jle 0x1002cbc8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x54]
neg edx
push edx
push ebx
lea eax, [ebp + 1]
push eax
push ecx
lea eax, [esp + 0x60]
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x30]
call fcn.1002c490
add esp, 0x18
mov esi, dword [esp + 0x28]
jmp 0x1002cbd2
mov ebp, dword [esp + 0x34]
inc edi
lea ebx, [ebp + 1]
cmp edi, ebx
jg 0x1002cbf9
lea ebx, [ebx]
cmp edi, dword [esp + 0x2c]
jg 0x1002cbf9
push edi
push esi
call sym.leptonlib.dll_l_getDataBit
add esp, 8
test eax, eax
jne 0x1002cbf9
inc edi
cmp edi, ebx
jle 0x1002cbe0
cmp edi, ebx
mov ebp, edi
jg 0x1002ca81
cmp edi, dword [esp + 0x2c]
jle 0x1002cb3a
jmp 0x1002ca81
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x18]
sub eax, ecx
inc eax
push eax
push edx
push ecx
call sym.leptonlib.dll_boxCreate
add esp, 0x10
pop esi
pop ebx
pop ebp
pop edi
add esp, 0x34
ret
pop esi
pop ebx
pop ebp
xor eax, eax
pop edi
add esp, 0x34
ret
xor eax, eax
pop edi
add esp, 0x34
ret