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

Disassembly:
push 0xffffffffffffffff
push 0x5608e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebp
lea ecx, [esp + 0x2c]
call fcn.0054aae4
xor ecx, ecx
mov dword [esp + 0x24], vtable.CBitmap.0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
cmp eax, ecx
mov eax, dword [esp + 0x68]
mov byte [esp + 0x44], 1
mov dword [esp + 4], ebp
lea eax, [eax + eax*8]
je 0x47bd09
mov edx, dword [eax*4 + 0x6d3f74]
jmp 0x47bd10
mov edx, dword [eax*4 + 0x6d3f70]
mov eax, edx
mov dword [esp + 0x68], edx
cmp eax, ecx
jne 0x47bd51
mov dword [esp + 0x24], vtable.CGdiObject.0
lea ecx, [esp + 0x24]
mov byte [esp + 0x44], 2
call fcn.0054b5a3
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xffffffff
call fcn.0054ac19
pop ebp
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
add esp, 0x44
ret
push ebx
mov ebx, dword [esp + 0x50]
push esi
cmp ebx, ecx
push edi
jne 0x47bd60
xor eax, eax
jmp 0x47bd63
mov eax, dword [ebx + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x3c]
call fcn.0054ab9b
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
lea eax, [esp + 0x30]
lea ecx, [esp + 0x2c]
push eax
push ecx
push esi
lea edx, [esp + 0x44]
push edi
push edx
call fcn.0047bb90
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
je 0x47bfcb
test ebp, ebp
jne 0x47bdd1
test ebx, ebx
jne 0x47bdad
xor eax, eax
jmp 0x47bdb0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push 0xcc0020
push ecx
push edx
push eax
mov eax, dword [esp + 0x4c]
push esi
push edi
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
test esi, esi
mov dword [esp + 0x6c], 0
jle 0x47bf8b
mov eax, edi
lea ecx, [esi*4 - 4]
neg eax
shl eax, 2
imul ecx, edi
mov edx, dword [esp + 0x74]
mov dword [esp + 0x24], eax
lea ebp, [ecx + edx + 3]
mov dword [esp + 0x18], ebp
test edi, edi
mov dword [esp + 0x14], 0
jle 0x47bf70
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x47be33
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [esp + 0x10], eax
mov al, byte [ebp]
or cl, 0xff
sub cl, al
mov esi, eax
mov byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, 0x80808081
shr ecx, 0x10
and edi, 0xff
and ecx, 0xff
imul ecx, edi
imul ecx
add edx, ecx
xor ecx, ecx
mov cl, byte [ebp - 3]
and esi, 0xff
imul ecx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
mov ebx, edx
imul ecx
add edx, ecx
mov eax, 0x80808081
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
xor ecx, ecx
mov cl, byte [esp + 0x11]
add bl, dl
and ecx, 0xff
imul ecx, edi
imul ecx
add edx, ecx
xor ecx, ecx
mov cl, byte [ebp - 2]
imul ecx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
mov byte [esp + 0x74], dl
imul ecx
add edx, ecx
mov al, byte [esp + 0x74]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
xor ecx, ecx
mov cl, byte [ebp - 1]
add al, dl
imul ecx, esi
mov byte [esp + 0x74], al
mov eax, 0x80808081
mov esi, dword [esp + 0x10]
imul ecx
and esi, 0xff
add edx, ecx
imul esi, edi
sar edx, 7
mov ecx, edx
mov eax, 0x80808081
shr ecx, 0x1f
add edx, ecx
mov ecx, edx
imul esi
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add cl, dl
mov byte [esp + 0x20], cl
xor ecx, ecx
mov ch, bl
mov cl, byte [esp + 0x74]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x14]
shl ecx, 8
and edx, 0xff
or ecx, edx
push ecx
mov ecx, dword [esp + 0x40]
push eax
push esi
push ecx
call dword [sym.imp.GDI32.dll_SetPixel]
mov eax, dword [esp + 0x78]
inc esi
add ebp, 4
cmp esi, eax
mov dword [esp + 0x14], esi
jl 0x47be12
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x7c]
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x18]
inc ecx
add ebp, eax
cmp ecx, esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x18], ebp
jl 0x47be02
mov edx, dword [ebx + 4]
push 3
push edx
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push 0xcc0020
push 0
push 0
push eax
mov eax, dword [ebx + 4]
push esi
push edi
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x30], vtable.CGdiObject.0
lea ecx, [esp + 0x30]
mov byte [esp + 0x50], 3
call fcn.0054b5a3
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 0xffffffff
call fcn.0054ac19
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebx
pop ebp
mov dword fs:[0], ecx
add esp, 0x44
ret