Function at 0x501b615b
Capabilities:
Capture screenshot

Disassembly:
sub esp, 0x18
push edi
xor edi, edi
push edi
mov dword [esp + 0xc], edi
call dword [sym.imp.USER32.dll_GetDC]
cmp eax, edi
mov dword [esp + 0x10], eax
jne 0x501b617e
mov eax, 0x8007000e
jmp 0x501b63d4
push ebx
mov ebx, dword [esp + 0x44]
push ebp
mov ebp, dword [esp + 0x44]
push esi
mov dword [ebp], edi
push edi
mov dword [ebx], edi
mov dword [esp + 0x14], edi
xor esi, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], edi
call dword [sym.imp.kernel32.dll_SetLastError]
push dword [esp + 0x40]
push dword [esp + 0x40]
push dword [esp + 0x24]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp eax, edi
mov dword [ebx], eax
je 0x501b6296
push edi
push 1
push 1
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call dword [sym.imp.GDI32.dll_CreateBitmap]
cmp eax, edi
mov dword [ebp], eax
je 0x501b6329
push dword [esp + 0x1c]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
cmp esi, edi
je 0x501b6296
push dword [ebx]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp eax, edi
mov dword [esp + 0x20], eax
je 0x501b6329
cmp dword [esp + 0x30], edi
je 0x501b6232
push 1
push dword [esp + 0x34]
push esi
call dword [sym.imp.GDI32.dll_SelectPalette]
push esi
mov dword [esp + 0x1c], eax
call dword [sym.imp.GDI32.dll_RealizePalette]
cmp dword [esp + 0x18], edi
je 0x501b6329
push dword [esp + 0x2c]
call dword [sym.imp.GDI32.dll_GetBkColor]
mov ebx, dword [sym.imp.GDI32.dll_SetBkColor]
push eax
push esi
call ebx
push dword [esp + 0x2c]
call dword [sym.imp.GDI32.dll_GetTextColor]
mov ebp, dword [sym.imp.GDI32.dll_SetTextColor]
push eax
push esi
call ebp
push 0xcc0020
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x38]
push dword [esp + 0x50]
push dword [esp + 0x50]
push edi
push edi
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x501b6329
push dword [esp + 0x1c]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp eax, edi
mov dword [esp + 0x10], eax
jne 0x501b62a3
mov dword [esp + 0x14], 0x8007000e
jmp 0x501b633e
mov eax, dword [esp + 0x48]
push dword [eax]
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp eax, edi
mov dword [esp + 0x24], eax
je 0x501b6329
push dword [esp + 0x44]
push esi
call ebx
push 0xffffff
push esi
call ebp
push 0xcc0020
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push esi
push dword [esp + 0x50]
push dword [esp + 0x50]
push edi
push edi
push dword [esp + 0x30]
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x501b62fd
call fcn.50046282
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x501b633e
push edi
push esi
call ebp
push 0xffffff
push esi
call ebx
push 0x220326
push edi
push edi
push dword [esp + 0x1c]
push dword [esp + 0x50]
push dword [esp + 0x50]
push edi
push edi
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x501b633e
call fcn.50046282
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x501b633e
mov dword [esp + 0x14], 0x80004005
cmp dword [esp + 0x20], edi
je 0x501b634f
push dword [esp + 0x20]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [esp + 0x18], edi
je 0x501b6369
push 1
push dword [esp + 0x1c]
push esi
call dword [sym.imp.GDI32.dll_SelectPalette]
push esi
call dword [sym.imp.GDI32.dll_RealizePalette]
cmp esi, edi
mov ebx, dword [sym.imp.GDI32.dll_DeleteDC]
je 0x501b6376
push esi
call ebx
cmp dword [esp + 0x24], edi
je 0x501b638a
push dword [esp + 0x24]
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [esp + 0x10], edi
je 0x501b6396
push dword [esp + 0x10]
call ebx
push dword [esp + 0x1c]
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [esp + 0x14], edi
jge 0x501b63cd
mov ebp, dword [esp + 0x48]
mov eax, dword [ebp]
cmp eax, edi
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
je 0x501b63bb
push eax
call esi
mov ebx, dword [esp + 0x4c]
mov eax, dword [ebx]
cmp eax, edi
je 0x501b63c8
push eax
call esi
mov dword [ebp], edi
mov dword [ebx], edi
mov eax, dword [esp + 0x14]
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x18
ret 0x24