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

Disassembly:
sub esp, 0x88
push ebx
mov ebx, dword [esp + 0xa0]
push ebp
mov ebp, dword [esp + 0x94]
push esi
push edi
test ebx, ebx
mov byte [esp + 0x20], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x22], 0
mov dword [esp + 0x3c], 0
jne 0x100ccc86
push ebp
call sym.GEAR32PO.OCX_GPb_bits_per_pixel_get
cmp eax, 1
jne 0x100ccc82
mov byte [esp + 0x20], al
lea ebx, [esp + 0x20]
lea eax, [esp + 0x70]
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.100d3780
test ebp, ebp
jne 0x100cccb4
push ebp
push ebp
push 0xfffff40c
push 0x14b
push str.C:_accusoftgear_sourceIMG_PROCROTATE.C
call fcn.10046940
jmp 0x100cd2f6
push ebp
call fcn.10082b00
test eax, eax
jne 0x100cccd9
push eax
push ebp
push 0xfffff7f3
push 0x14e
push str.C:_accusoftgear_sourceIMG_PROCROTATE.C
call fcn.10046940
jmp 0x100cd2f6
lea edx, [esp + 0x78]
lea eax, [esp + 0x80]
push edx
push eax
push ebp
call fcn.10082a60
fld qword [esp + 0xa0]
fld st(0)
fmul qword [0x10113730]
call sub.MSVCRT.dll__ftol
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
shl ecx, 1
mov dword [esp + 0x40], ecx
fild dword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 0x40
je 0x100ccdc5
fcom qword [0x10113738]
fnstsw ax
test ah, 0x41
jne 0x100ccd31
mov esi, 1
jmp 0x100ccd35
xor esi, esi
fchs
call sub.MSVCRT.dll__ftol
cdq
mov ecx, 0x168
idiv ecx
sub edx, 0x5a
je 0x100ccd8d
sub edx, 0x5a
je 0x100ccd73
sub edx, 0x5a
jne 0x100cd345
test esi, esi
jne 0x100ccdab
push 1
push ebp
call fcn.100cd390
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14
push 2
push ebp
call fcn.100cd390
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14
test esi, esi
je 0x100ccdab
push 1
push ebp
call fcn.100cd390
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14
push 3
push ebp
call fcn.100cd390
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14
lea edx, [esp + 0x1c]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x38]
push eax
push ecx
push ebp
fstp st(0)
call fcn.100839c0
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x100cce10
mov edx, dword [esp + 0xa8]
push ebx
fld qword [esp + 0xa4]
push edx
sub esp, 8
fchs
fstp qword [esp]
push ebp
call fcn.100cdac0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14
cmp eax, 4
je 0x100cce45
cmp eax, 8
je 0x100cce45
cmp eax, 0x10
je 0x100cce45
cmp eax, 0x18
je 0x100cce45
cmp eax, 0x20
je 0x100cce45
push 0
push eax
push 0xfffff448
push 0x18b
push str.C:_accusoftgear_sourceIMG_PROCROTATE.C
call fcn.10046940
jmp 0x100cd2e3
push ebp
call sym.GEAR32PO.OCX_GPb_bytes_per_raster_get
lea ecx, [esp + 0x5c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
call fcn.100cd4c0
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x100cce91
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x44], edx
jmp 0x100ccede
lea eax, [esp + 0x88]
lea ecx, [esp + 0x14]
push eax
mov eax, dword [esp + 0xa8]
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
call fcn.100cd4f0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, edi
cdq
sub eax, edx
sar esi, 1
sar eax, 1
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x1c]
cmp edx, 0x18
je 0x100ccf00
cmp edx, 0x20
je 0x100ccf00
push ebp
call sym.GEAR32PO.OCX_GPb_palette_pointer_get
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
jmp 0x100ccf02
xor eax, eax
cmp edx, 0x10
jne 0x100ccf13
push 0
push 0
push 0x1f7
push edx
jmp 0x100ccf28
cmp edx, 0x20
push 0
push 0
je 0x100ccf21
push 0
push edx
jmp 0x100ccf28
push 0x1f5
push 0x20
push edi
push ecx
push eax
push ebp
call sym.GEAR32PO.OCX_GPb_IP_allocate_dest_DIB
test eax, eax
mov dword [esp + 0x18], eax
je 0x100cd2e3
cmp dword [esp + 0x1c], 0x10
jne 0x100ccf6b
push ebp
call sym.GEAR32PO.OCX_GPb_DIB_pointer_get
push eax
call fcn.10032f10
mov edi, eax
mov ebp, dword [esp + 0x18]
push edi
push ebp
call fcn.10033050
push edi
push ebp
call fcn.10033010
push edi
push ebp
call fcn.10032fd0
fld qword [esp + 0xa0]
fmul qword [0x10113740]
fld st(0)
fsin
fmul qword [0x10113748]
call sub.MSVCRT.dll__ftol
fcos
mov dword [esp + 0x4c], eax
fmul qword [0x10113748]
call sub.MSVCRT.dll__ftol
mov edi, dword [esp + 0x18]
mov ebp, eax
push edi
mov dword [esp + 0x54], ebp
call fcn.10032bc0
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x58], eax
push ecx
call sym.GEAR32PO.OCX_GPb_image_pointer_get
push edi
mov dword [esp + 0x2c], eax
call fcn.10032ac0
mov edi, eax
mov ecx, esi
mov edx, dword [esp + 0x14]
imul ecx, ebp
dec edx
mov dword [esp + 0x38], 0
imul edx, dword [esp + 0x58]
add edi, edx
mov edx, dword [esp + 0x4c]
mov eax, edx
imul esi, edx
neg eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x5c]
shl eax, 0x10
sub eax, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x60]
shl eax, 0x10
add esi, eax
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x64], esi
jle 0x100cd2ca
jmp 0x100cd01d
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x1c]
dec ecx
mov esi, edi
je 0x100cd03d
sub ecx, 3
jne 0x100cd03d
mov dword [esp + 0x3c], 0
mov ecx, eax
imul eax, ebp
imul ecx, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x48], 0
add ecx, edx
mov edx, dword [esp + 0x64]
add eax, edx
mov edx, eax
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x100cd28c
jmp 0x100cd074
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov edi, ecx
add ecx, ebp
mov ebp, dword [esp + 0x74]
mov eax, edx
sar edi, 0x10
sar eax, 0x10
add edx, ebp
mov dword [esp + 0x7c], ecx
test edi, edi
mov dword [esp + 0x84], edx
jl 0x100cd0ac
cmp edi, dword [esp + 0x34]
jge 0x100cd0ac
test eax, eax
jl 0x100cd0ac
cmp eax, dword [esp + 0x10]
jge 0x100cd0ac
mov ebp, 1
jmp 0x100cd0ae
xor ebp, ebp
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffffc
cmp ecx, 0x1c
ja case.0x100cd0c6.9
xor edx, edx
mov dl, byte [ecx + 0x100cd370]
jmp dword [edx*4 + 0x100cd358]
test ebp, ebp
je 0x100cd11b
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.100cd4b0
mov ecx, eax
mov eax, edi
cdq
imul ecx, dword [esp + 0x24]
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
mov ebp, eax
mov eax, edi
sub ebp, edx
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
add edx, ecx
mov ecx, ebp
add eax, edx
neg ecx
mov al, byte [eax]
sbb cl, cl
and cl, 0x1f
add cl, 0xf0
and al, cl
test ebp, ebp
jne 0x100cd11d
shr al, 4
jmp 0x100cd11d
mov al, byte [ebx]
mov ecx, dword [esp + 0x3c]
sub ecx, 0
je 0x100cd140
dec ecx
jne case.0x100cd0c6.9
mov cl, byte [esi]
mov dword [esp + 0x3c], 0
or cl, al
mov byte [esi], cl
jmp 0x100cd26e
shl al, 4
mov dword [esp + 0x3c], 1
mov byte [esi], al
jmp case.0x100cd0c6.9
test ebp, ebp
je 0x100cd174
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.100cd4b0
imul eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
mov dl, byte [eax + edi]
mov byte [esi], dl
jmp 0x100cd26e
mov al, byte [ebx]
mov byte [esi], al
jmp 0x100cd26e
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.100cd4b0
imul eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
add edx, eax
test ebp, ebp
lea eax, [edx + edi*2]
je 0x100cd1a9
mov cl, byte [eax]
mov byte [esi], cl
mov dl, byte [eax + 1]
inc esi
mov byte [esi], dl
jmp 0x100cd26e
mov al, byte [ebx]
mov byte [esi], al
mov cl, byte [ebx + 1]
inc esi
mov byte [esi], cl
jmp 0x100cd26e
mov edx, dword [esp + 0x10]
push edx
push eax
call fcn.100cd4b0
lea ecx, [edi + edi*2]
imul eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
add edx, eax
add ecx, edx
test ebp, ebp
je 0x100cd1ed
mov al, byte [ecx]
mov byte [esi], al
mov dl, byte [ecx + 1]
inc esi
inc ecx
mov byte [esi], dl
mov al, byte [ecx + 1]
inc esi
mov byte [esi], al
jmp 0x100cd26e
mov cl, byte [ebx]
mov byte [esi], cl
mov dl, byte [ebx + 1]
inc esi
mov byte [esi], dl
mov al, byte [ebx + 2]
inc esi
mov byte [esi], al
jmp 0x100cd26e
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.100cd4b0
imul eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
add edx, eax
test ebp, ebp
lea eax, [edx + edi*4]
je 0x100cd236
mov cl, byte [eax]
mov byte [esi], cl
mov dl, byte [eax + 1]
inc esi
inc eax
mov byte [esi], dl
mov cl, byte [eax + 1]
inc esi
inc eax
mov byte [esi], cl
mov dl, byte [eax + 1]
inc esi
mov byte [esi], dl
jmp 0x100cd26e
mov al, byte [ebx + 2]
mov cl, byte [ebx + 1]
mov dl, byte [ebx]
mov byte [esp + 0x32], al
mov byte [esp + 0x31], cl
lea eax, [esp + 0x54]
lea ecx, [esp + 0x30]
push eax
push ecx
mov byte [esp + 0x38], dl
call fcn.1001d7a0
inc esi
mov eax, dword [esp + 0x54]
mov byte [esi - 1], al
mov byte [esi], ah
mov ax, word [esp + 0x56]
inc esi
mov byte [esi], al
inc esi
mov byte [esi], ah
inc esi
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [esp + 0x48], eax
jl 0x100cd069
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x68]
sub edi, edx
test eax, eax
mov dword [esp + 0x40], edi
je 0x100cd2b5
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x70]
push edx
push esi
push ecx
call eax
test eax, eax
je 0x100cd319
jmp 0x100cd2b9
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
inc esi
cmp esi, eax
mov dword [esp + 0x38], esi
jl 0x100cd019
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x9c]
push edx
push eax
call sym.GEAR32PO.OCX_GPb_IP_replace_DIB
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
push ecx
push edx
push ebp
call fcn.10082a90
call fcn.10046b40
mov esi, eax
test esi, esi
jne 0x100cd30a
push eax
push 8
push ebp
call fcn.10086040
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x18]
push edx
push eax
call sym.GEAR32PO.OCX_GPb_DIB_free
mov ecx, dword [esp + 0x14]
push ecx
push esi
push 0xfffff7bf
push 0x2b5
push str.C:_accusoftgear_sourceIMG_PROCROTATE.C
call fcn.10046940
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 0x14