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

Disassembly:
mov eax, 0x1104
call fcn.100f8f30
push ebx
push ebp
push esi
lea eax, [esp + 0x5c]
push edi
lea ecx, [esp + 0x5c]
push eax
push ecx
call fcn.100d3780
xor esi, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], esi
call fcn.100a0c60
mov edi, dword [esp + 0x1118]
mov dword [esp + 0x28], eax
push edi
call sym.GEAR32PO.OCX_GPb_width_get
mov ebp, eax
push edi
mov dword [esp + 0x54], ebp
call sym.GEAR32PO.OCX_GPb_height_get
mov ebx, eax
lea edx, [esp + 0x64]
lea eax, [esp + 0x6c]
push edx
push eax
push edi
mov dword [esp + 0x74], ebx
call fcn.10082a60
lea eax, [esp + 0xb0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
push ecx
push edx
push esi
push 4
push ebx
push ebp
push eax
call fcn.10032e40
push 0x40
lea ecx, [esp + 0x74]
push esi
push ecx
call fcn.100a9900
mov edx, dword [esp + 0x111c]
mov eax, dword [edx + 8]
cmp eax, esi
jne 0x100342ce
lea ecx, [esp + 0x71]
mov eax, 0x1011b949
mov dl, byte [eax - 1]
add eax, 3
mov byte [ecx + 1], dl
mov dl, byte [eax - 3]
mov byte [ecx], dl
mov dl, byte [eax - 2]
mov byte [ecx - 1], dl
add ecx, 4
cmp eax, 0x1011b979
jl 0x100342a7
mov edi, dword [esp + 0x1118]
jmp 0x100342db
push 0x40
push eax
lea eax, [esp + 0x78]
push eax
call fcn.100a98d0
lea ecx, [esp + 0x70]
lea edx, [esp + 0xd8]
push ecx
push edx
call fcn.10034730
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0xdc]
imul eax, dword [esp + 0xe0]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x70]
push eax
push ecx
push edi
call sym.GEAR32PO.OCX_GPb_DIB_alloc
mov esi, eax
test esi, esi
mov dword [esp + 0x54], esi
je 0x100343b7
push edi
call sym.GEAR32PO.OCX_GPb_bytes_per_raster_get
push esi
mov dword [esp + 0x4c], eax
call fcn.10032bc0
lea esi, [ebp + ebp*2 + 6]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
shl esi, 2
push esi
push edx
call fcn.100a0c80
push esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.100a0c80
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x10034371
test eax, eax
je 0x10034371
push esi
push 0
push eax
call fcn.100a9900
jmp 0x10034393
lea ecx, [ebp + ebp*2 + 6]
push 0
shl ecx, 3
push ecx
push 0xfffffc18
push 0x488
push str.C:_accusoftgear_sourceDITHERDIFFUSE.C
call fcn.10046940
mov dword [esp + 0x10], eax
push edi
call sym.GEAR32PO.OCX_GPb_image_pointer_get
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], eax
push edx
call fcn.10032ac0
push edi
mov dword [esp + 0x28], eax
call sym.GEAR32PO.OCX_GPb_palette_pointer_get
mov dword [esp + 0x44], eax
jmp 0x100343df
lea eax, [esp + 0xb0]
push 0
push eax
call fcn.10032d70
push eax
push 0xfffffc18
push 0x491
push str.C:_accusoftgear_sourceDITHERDIFFUSE.C
call fcn.10046940
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x100346e5
test ebx, ebx
mov dword [esp + 0x40], 0
jle 0x100346c5
mov dword [esp + 0x38], ebx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
push 0x18
push 0
push esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], esi
call fcn.100a9900
test ebp, ebp
mov dword [esp + 0x3c], 0
lea ecx, [edi + 0xc]
jle 0x1003464f
mov edx, dword [esp + 0x30]
xor eax, eax
mov ebx, dword [ecx + 4]
add ecx, 4
mov al, byte [edx]
mov edx, dword [esp + 0x44]
add ecx, 4
lea eax, [edx + eax*4]
xor edx, edx
add ecx, 4
mov dl, byte [eax + 2]
mov edi, edx
mov edx, dword [ecx - 0xc]
add edi, edx
xor edx, edx
mov dl, byte [eax + 1]
mov ebp, edx
xor edx, edx
mov dl, byte [eax]
add ebp, ebx
mov ebx, dword [ecx - 4]
add ebx, edx
cmp edi, 0xff
jle 0x10034487
mov dword [esp + 0x14], 0xf
jmp 0x100344a4
test edi, edi
jge 0x10034495
mov dword [esp + 0x14], 0
jmp 0x100344a4
mov eax, edi
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [esp + 0x14], eax
cmp ebp, 0xff
jle 0x100344b6
mov dword [esp + 0x10], 0xf
jmp 0x100344d3
test ebp, ebp
jge 0x100344c4
mov dword [esp + 0x10], 0
jmp 0x100344d3
mov eax, ebp
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [esp + 0x10], eax
cmp ebx, 0xff
jle 0x100344e2
mov eax, 0xf
jmp 0x100344f5
test ebx, ebx
jge 0x100344ea
xor eax, eax
jmp 0x100344f5
mov eax, ebx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov edx, dword [esp + 0x10]
imul edx, dword [esp + 0xe0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
imul edx, dword [esp + 0x58]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
add eax, edx
mov edx, dword [esp + 0x14]
add edx, eax
mov al, byte [esp + edx + 0x114]
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x3c]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
je 0x1003454c
mov eax, dword [esp + 0x2c]
mov dl, byte [esp + 0x34]
or byte [eax], dl
inc eax
mov dword [esp + 0x2c], eax
jmp 0x10034559
mov al, byte [esp + 0x34]
mov edx, dword [esp + 0x2c]
shl al, 4
mov byte [edx], al
mov eax, dword [esp + 0x34]
xor edx, edx
and eax, 0xff
add esi, 0xc
shl eax, 2
mov dl, byte [esp + eax + 0x72]
sub edi, edx
xor edx, edx
mov dl, byte [esp + eax + 0x71]
sub ebp, edx
xor edx, edx
mov dl, byte [esp + eax + 0x70]
mov eax, edi
shl eax, 3
sub eax, edi
sub ebx, edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [ecx]
sar eax, 4
add edx, eax
mov eax, ebp
shl eax, 3
sub eax, ebp
mov dword [ecx], edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [ecx + 4]
sar eax, 4
add edx, eax
mov eax, ebx
shl eax, 3
sub eax, ebx
mov dword [ecx + 4], edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [ecx + 8]
sar eax, 4
add edx, eax
lea eax, [edi + edi*4]
mov dword [ecx + 8], edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [esi]
sar eax, 4
add edx, eax
lea eax, [ebp + ebp*4]
mov dword [esi], edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [esi + 4]
sar eax, 4
add edx, eax
lea eax, [ebx + ebx*4]
mov dword [esi + 4], edx
cdq
and edx, 0xf
add eax, edx
mov edx, dword [esi + 8]
sar eax, 4
add edx, eax
mov eax, edi
mov dword [esi + 8], edx
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [esi + 0xc], eax
mov eax, ebp
cdq
and edx, 0xf
add eax, edx
sar eax, 4
mov dword [esi + 0x10], eax
mov eax, ebx
cdq
and edx, 0xf
mov edi, dword [esp + 0x30]
add eax, edx
mov edx, dword [esp + 0x50]
sar eax, 4
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x3c]
inc eax
inc edi
cmp eax, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], edi
jl 0x1003443c
mov ebx, dword [esp + 0x68]
mov ebp, edx
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10034669
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
dec ecx
push ebx
push ecx
push edx
call eax
test eax, eax
je 0x100346a1
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x24]
inc eax
dec ecx
add esi, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x48]
add edi, ecx
cmp eax, ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
jl 0x100343ff
jmp 0x100346be
mov ebp, dword [esp + 0x40]
push ebx
sub ebx, ebp
dec ebx
push ebx
push 0xfffff7bf
push 0x4e8
push str.C:_accusoftgear_sourceDITHERDIFFUSE.C
call fcn.10046940
mov edi, dword [esp + 0x1118]
push edi
push edi
call sym.GEAR32PO.OCX_GPb_DIB_pointer_get
push eax
call sym.GEAR32PO.OCX_GPb_DIB_free
push 0
push edi
mov eax, dword [esp + 0x5c]
push eax
call sym.GEAR32PO.OCX_GPb_image_associate
push edi
call sym.GEAR32PO.OCX_GPb_logical_palette_update
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100346fa
mov esi, dword [esp + 0x28]
push eax
push esi
call fcn.100a1010
jmp 0x100346fe
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1003470d
push eax
push esi
call fcn.100a1010
push esi
call fcn.100a12c0
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1104
ret 8