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

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
lea eax, [esp + 0x48]
push edi
lea ecx, [esp + 0x48]
xor ebx, ebx
push eax
push ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.100d3780
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x64]
mov ebp, dword [edi + 8]
mov edx, dword [edi]
sub ebp, edx
inc ebp
cmp eax, ebx
je 0x10014320
mov esi, dword [esp + 0x80]
lea eax, [ebp + ebp*2]
push eax
push esi
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x24], eax
jne 0x10014327
lea eax, [ebp + ebp*2]
push eax
push esi
push 0xfffffc18
push 0x634
push str.C:_accusoftgear_sourceIMG_PROC_blends.c
call fcn.10046940
mov ebx, eax
jmp 0x10014327
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1001435e
lea eax, [ebp + ebp*2]
push eax
push esi
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x18], eax
jne 0x1001435e
lea eax, [ebp + ebp*2]
push eax
push esi
push 0xfffffc18
push 0x63d
push str.C:_accusoftgear_sourceIMG_PROC_blends.c
call fcn.10046940
add ebx, eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10014395
lea eax, [ebp + ebp*2]
push eax
push esi
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x10014395
lea eax, [ebp + ebp*2]
push eax
push esi
push 0xfffffc18
push 0x646
push str.C:_accusoftgear_sourceIMG_PROC_blends.c
call fcn.10046940
add ebx, eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x100143cc
lea eax, [ebp + ebp*2]
push eax
push esi
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x28], eax
jne 0x100143cc
lea eax, [ebp + ebp*2]
push eax
push esi
push 0xfffffc18
push 0x64f
push str.C:_accusoftgear_sourceIMG_PROC_blends.c
call fcn.10046940
add ebx, eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10014403
lea eax, [ebp + ebp*2]
push eax
push esi
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x10014403
lea eax, [ebp + ebp*2]
push eax
push esi
push 0xfffffc18
push 0x658
push str.C:_accusoftgear_sourceIMG_PROC_blends.c
call fcn.10046940
add ebx, eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x10014415
push eax
call sym.GEAR32PO.OCX_GPb_palette_pointer_get
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10014427
push eax
call sym.GEAR32PO.OCX_GPb_palette_pointer_get
mov dword [esp + 0x34], eax
test ebx, ebx
jne 0x100146d1
mov ebx, dword [edi + 4]
mov eax, dword [edi + 0xc]
cmp ebx, eax
mov dword [esp + 0x44], ebx
jg 0x100146d1
mov edx, dword [esp + 0x24]
mov eax, dword [edi]
mov ecx, dword [esp + 0x64]
push 2
push edx
push ebp
push ebx
push eax
push ecx
call fcn.10005b20
mov esi, eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x10014475
mov edx, dword [esp + 0x28]
mov ecx, dword [edi]
push 2
push edx
push ebp
push ebx
push ecx
push eax
call fcn.10005b20
add esi, eax
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x10014491
mov edx, dword [esp + 0x18]
mov ecx, dword [edi]
push 2
push edx
push ebp
push ebx
push ecx
push eax
call fcn.10005b20
add esi, eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x100144ad
mov edx, dword [esp + 0x2c]
mov ecx, dword [edi]
push 2
push edx
push ebp
push ebx
push ecx
push eax
call fcn.10005b20
add esi, eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x100144c9
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
push 2
push edx
push ebp
push ebx
push ecx
push eax
call fcn.10005b20
add esi, eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10014508
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
sub edx, ecx
mov ecx, dword [esp + 0x4c]
inc edx
push edx
push ebx
push ecx
call eax
test eax, eax
jne 0x10014508
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 4]
sub edx, eax
inc edx
push edx
push ebx
push 0xfffff7bf
push 0x682
push str.C:_accusoftgear_sourceIMG_PROC_blends.c
call fcn.10046940
add esi, eax
test esi, esi
jne 0x100146a0
test ebp, ebp
mov dword [esp + 0x40], esi
jle 0x100146a0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, edi
mov esi, dword [esp + 0x2c]
mov edx, ebx
lea ecx, [eax + 2]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x28]
sub ecx, esi
sub esi, eax
sub edx, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], edx
jmp 0x10014565
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
cmp dword [esp + 0x28], 0
je 0x10014577
add ecx, esi
mov cl, byte [ecx + edi]
mov byte [esp + 0x3c], cl
jmp 0x1001457c
mov byte [esp + 0x3c], 1
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x1001458d
mov cl, byte [esi + edi]
mov byte [esp + 0x38], cl
jmp 0x10014592
mov byte [esp + 0x38], 0
test eax, eax
je 0x100145dd
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x100145b8
mov eax, dword [esp + 0x20]
mov cl, byte [eax - 2]
mov byte [esp + 0x14], cl
mov cl, byte [eax - 1]
mov byte [esp + 0x15], cl
mov cl, byte [eax]
mov byte [esp + 0x16], cl
jmp 0x100145f0
xor eax, eax
mov al, byte [edi]
mov cl, byte [esi + eax*4]
xor eax, eax
mov byte [esp + 0x14], cl
mov al, byte [edi]
mov cl, byte [esi + eax*4 + 1]
xor eax, eax
mov byte [esp + 0x15], cl
mov al, byte [edi]
mov cl, byte [esi + eax*4 + 2]
mov byte [esp + 0x16], cl
jmp 0x100145ec
mov byte [esp + 0x16], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x14], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x1001463e
mov esi, dword [esp + 0x34]
test esi, esi
jne 0x10014616
mov cl, byte [ebx]
mov byte [esp + 0x10], cl
mov cl, byte [ebx + 1]
mov byte [esp + 0x11], cl
mov dl, byte [edx + eax]
mov byte [esp + 0x12], dl
jmp 0x1001464d
xor eax, eax
mov al, byte [edx + edi]
mov cl, byte [esi + eax*4]
xor eax, eax
mov byte [esp + 0x10], cl
mov al, byte [edx + edi]
mov cl, byte [esi + eax*4 + 1]
xor eax, eax
mov byte [esp + 0x11], cl
mov al, byte [edx + edi]
mov cl, byte [esi + eax*4 + 2]
mov byte [esp + 0x12], cl
jmp 0x1001464d
mov byte [esp + 0x12], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x10], 0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x20]
push edx
add ecx, ebx
push eax
push ecx
call fcn.10013470
mov esi, eax
test esi, esi
jne 0x10014698
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
inc eax
inc edi
add ecx, 3
add ebx, 3
cmp eax, ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ecx
jl 0x10014555
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x24]
mov eax, dword [edi]
mov ecx, dword [esp + 0x64]
push 2
push edx
push ebp
push ebx
push eax
push ecx
call fcn.10005df0
add esi, eax
jne 0x100146ca
mov eax, dword [edi + 0xc]
inc ebx
cmp ebx, eax
mov dword [esp + 0x44], ebx
jle 0x10014441
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100146e0
push eax
push esi
call fcn.100a1010
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100146ef
push eax
push esi
call fcn.100a1010
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100146fe
push eax
push esi
call fcn.100a1010
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1001470d
push eax
push esi
call fcn.100a1010
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1001471c
push eax
push esi
call fcn.100a1010
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret