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

Disassembly:
sub esp, 0x468
push ebx
push ebp
lea eax, [esp + 0x30]
push esi
lea ecx, [esp + 0x48]
mov ebp, 1
push eax
push ecx
mov dword [esp + 0x28], ebp
call fcn.100d3780
mov ebx, dword [esp + 0x47c]
mov esi, dword [esp + 0x478]
mov edx, ebx
push esi
mov eax, dword [edx]
mov dword [esp + 0x3c], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x48], ecx
call sym.GEAR32PO.OCX_GPb_bits_per_pixel_get
cmp eax, 8
je 0x1004b5ff
push 0
push eax
push 0xfffff448
push 0x7b4
push str.C:_accusoftgear_sourceIMG_PROC_filterip.c
call fcn.10046940
call fcn.10046b40
pop esi
pop ebp
pop ebx
add esp, 0x468
ret 0x10
push edi
push ebp
push ebp
push 3
lea edx, [esp + 0x5c]
push 3
push edx
call fcn.1009b9d0
mov eax, 0xfffffffe
xor edi, edi
fild dword [esp + 0x484]
mov dword [esp + 0x78], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xf8], eax
fidiv dword [esp + 0x488]
lea eax, [esp + 0x50]
mov dword [esp + 0x74], ebp
push eax
push esi
mov dword [esp + 0x84], ebp
mov dword [esp + 0xc0], 4
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x104], ebp
mov dword [esp + 0x78], edi
fstp qword [esp + 0x70]
call fcn.1009ff90
cmp eax, edi
jne 0x1004ba5a
push ebx
mov dword [esp + 0x14], edi
call sym.GEAR32PO.OCX_rect_number_of_segments
push esi
mov dword [esp + 0x30], eax
call sym.GEAR32PO.OCX_GPb_height_get
push esi
mov dword [esp + 0x34], eax
call sym.GEAR32PO.OCX_GPb_width_get
lea ecx, [esp + 0x50]
lea edx, [esp + 0x3c]
push ecx
push edx
push esi
mov dword [esp + 0x40], eax
call fcn.10023e30
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
call fcn.100c4c10
mov ecx, dword [0x10127e5c]
lea edx, [esp + 0x18]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x50]
push edx
push eax
push ecx
push esi
call fcn.100a0090
mov edi, eax
mov eax, dword [ebx + 4]
test eax, eax
jne 0x1004b72f
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push edx
mov edx, dword [0x10127e58]
push eax
push 0
push ebp
lea ecx, [esp + 0x60]
push 0
push ecx
push edx
push edi
push 3
lea eax, [esp + 0x3c]
push ebp
push eax
push esi
call fcn.10024070
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x50]
push ecx
inc edi
push edx
push esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], edi
call fcn.100a0130
mov edi, eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1004ba5a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
mov dword [esp + 0x18], eax
jg 0x1004ba1b
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test ebp, ebp
lea ebx, [ebp + eax]
jne 0x1004b7fa
mov ecx, dword [edi + 4]
mov esi, dword [edi]
xor eax, eax
mov ebp, 1
mov dl, byte [ecx]
mov al, byte [esi + 1]
mov byte [esp + 0x14], dl
xor edx, edx
mov dl, byte [esi]
sub eax, edx
xor edx, edx
mov dl, byte [ecx + 1]
mov esi, edx
xor edx, edx
mov dl, byte [ecx]
shl eax, 1
sub edx, esi
lea ecx, [eax + edx*4]
mov eax, dword [edi + 8]
xor edx, edx
mov dl, byte [eax + 1]
mov esi, edx
xor edx, edx
mov dl, byte [eax]
sub esi, edx
lea eax, [ecx + esi*2]
imul eax, dword [esp + 0x484]
cdq
idiv dword [esp + 0x488]
cmp eax, 0xffffff01
jge 0x1004b7c1
mov eax, 0xffffff01
jmp 0x1004b7cd
cmp eax, 0xff
jle 0x1004b7cd
mov eax, 0xff
mov ecx, dword [esp + 0x14]
and ecx, 0xff
add eax, ecx
jns 0x1004b7df
xor eax, eax
jmp 0x1004b7eb
cmp eax, 0xff
jle 0x1004b7eb
mov eax, 0xff
mov edx, dword [0x10127e58]
mov esi, dword [esp + 0x47c]
mov byte [edx], al
mov eax, dword [esp + 0x34]
cmp ebx, eax
jne 0x1004b8a2
lea ebx, [eax - 1]
mov eax, dword [edi + 4]
xor edx, edx
mov cl, byte [eax + ebx]
lea esi, [eax + ebx]
mov eax, dword [edi]
mov byte [esp + 0x14], cl
add eax, ebx
xor ecx, ecx
mov cl, byte [eax - 1]
mov dl, byte [eax]
sub ecx, edx
xor eax, eax
mov al, byte [esi - 1]
xor edx, edx
mov dl, byte [esi]
shl ecx, 1
sub edx, eax
mov eax, dword [edi + 8]
add eax, ebx
lea ecx, [ecx + edx*4]
xor edx, edx
mov dl, byte [eax - 1]
mov esi, edx
xor edx, edx
mov dl, byte [eax]
sub esi, edx
lea eax, [ecx + esi*2]
imul eax, dword [esp + 0x484]
cdq
idiv dword [esp + 0x488]
cmp eax, 0xffffff01
jge 0x1004b868
mov eax, 0xffffff01
jmp 0x1004b874
cmp eax, 0xff
jle 0x1004b874
mov eax, 0xff
mov ecx, dword [esp + 0x14]
and ecx, 0xff
add eax, ecx
jns 0x1004b886
xor eax, eax
jmp 0x1004b892
cmp eax, 0xff
jle 0x1004b892
mov eax, 0xff
mov edx, dword [0x10127e58]
mov esi, dword [esp + 0x47c]
mov byte [ebx + edx], al
cmp ebp, ebx
jge 0x1004b97d
mov eax, dword [edi + 4]
mov dl, byte [ebp + eax]
lea ecx, [ebp + eax]
mov eax, dword [edi]
mov byte [esp + 0x14], dl
add eax, ebp
xor edx, edx
mov dl, byte [eax]
shl edx, 1
mov dword [esp + 0x28], edx
xor edx, edx
mov dl, byte [eax - 1]
mov esi, edx
mov edx, dword [esp + 0x28]
sub esi, edx
xor edx, edx
mov dl, byte [eax + 1]
xor eax, eax
mov al, byte [ecx]
add esi, edx
xor edx, edx
mov dl, byte [ecx + 1]
shl eax, 1
sub eax, edx
xor edx, edx
mov dl, byte [ecx - 1]
sub eax, edx
mov edx, dword [edi + 8]
lea ecx, [esi + eax*2]
mov eax, ebp
add eax, edx
xor edx, edx
mov dl, byte [eax]
shl edx, 1
mov esi, edx
xor edx, edx
mov dl, byte [eax - 1]
sub edx, esi
mov dword [esp + 0x28], edx
xor edx, edx
mov dl, byte [eax + 1]
mov eax, edx
mov edx, dword [esp + 0x28]
add ecx, edx
add eax, ecx
imul eax, dword [esp + 0x484]
cdq
idiv dword [esp + 0x488]
cmp eax, 0xffffff01
jge 0x1004b939
mov eax, 0xffffff01
jmp 0x1004b945
cmp eax, 0xff
jle 0x1004b945
mov eax, 0xff
mov ecx, dword [esp + 0x14]
and ecx, 0xff
add eax, ecx
jns 0x1004b957
xor eax, eax
jmp 0x1004b963
cmp eax, 0xff
jle 0x1004b963
mov eax, 0xff
mov edx, dword [0x10127e58]
inc ebp
cmp ebp, ebx
mov byte [edx + ebp - 1], al
jl 0x1004b8aa
mov esi, dword [esp + 0x47c]
mov eax, dword [0x10127e58]
mov ecx, dword [esp + 0x1c]
add eax, ecx
lea edx, [esp + 0x18]
push eax
push edx
push esi
call sym.GEAR32PO.OCX_GPb_DIB_pointer_get
push eax
call fcn.10006d80
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1004b9b7
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
push ebx
push ecx
push edx
call eax
test eax, eax
je 0x1004b9e4
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x50]
push eax
inc ebx
push ecx
push esi
mov dword [esp + 0x24], ebx
call fcn.100a0130
mov edi, eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
cmp edx, eax
jle 0x1004b74f
jmp 0x1004ba0f
mov eax, dword [esp + 0x10]
push ebx
push eax
push 0xfffff7bf
push 0x85a
push str.C:_accusoftgear_sourceIMG_PROC_filterip.c
call fcn.10046940
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], 0
inc eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x480]
mov ebp, 1
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1004ba5a
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 0xc]
dec ecx
cmp eax, ecx
jne 0x1004ba5a
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push edx
mov edx, dword [0x10127e58]
push eax
push 0
push ebp
lea ecx, [esp + 0x60]
push 0
push ecx
push edx
push edi
push 2
lea eax, [esp + 0x3c]
push 0
push eax
push esi
call fcn.10024070
call fcn.100a0020
pop edi
call fcn.10046b40
pop esi
pop ebp
pop ebx
add esp, 0x468
ret 0x10