Function at 0x46ae80
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x577b30
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x5e95e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x18], 1
call fcn.00536b69
xor ebx, ebx
push ebx
push ebx
push ebx
push str.DISPLAY
mov dword [ebp - 4], ebx
call dword [sym.imp.GDI32.dll_CreateDCW]
push eax
lea ecx, [ebp - 0x44]
call fcn.0053707f
test eax, eax
jne 0x46aee4
mov dword [ebp - 0x18], 0xfffffffe
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
call esi
push 1
mov dword [ebp - 0x28], eax
call esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], vtable.CBitmap.0
mov byte [ebp - 4], 1
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x30]
push eax
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [ebp - 0x20]
call fcn.00537346
test eax, eax
jne 0x46af38
mov dword [ebp - 0x18], 0xfffffffe
lea ecx, [ebp - 0x74]
call fcn.00536b69
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [ebp - 0x74]
call fcn.0053707f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x70]
push eax
push ecx
call fcn.005373cb
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push 0xcc0020
push edx
mov edi, eax
mov eax, dword [ebp - 0x24]
push esi
sub eax, edx
mov edx, dword [ebp - 0x40]
push edx
push eax
mov eax, dword [ebp - 0x70]
sub ecx, esi
push ecx
push ebx
push ebx
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x46af9a
mov dword [ebp - 0x18], 0xfffffffe
cmp edi, ebx
jne 0x46afa2
xor edi, edi
jmp 0x46afa5
mov edi, dword [edi + 4]
mov ecx, dword [ebp - 0x70]
push edi
push ecx
call fcn.005373cb
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0xb4]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov esi, dword [ebp - 0xac]
imul esi, dword [ebp - 0xa8]
push esi
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x34], edi
jne 0x46aff4
mov dword [ebp - 0x18], 0xfffffffe
jmp 0x46b114
mov ecx, 1
cmp dword [ebp - 0x18], ecx
jne 0x46b102
mov dx, word [ebp - 0xa2]
mov eax, dword [ebp - 0xac]
push ebx
mov word [ebp - 0x8e], dx
lea edx, [ebp - 0x9c]
push edx
push edi
push eax
mov word [ebp - 0x90], cx
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x1c]
push ebx
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x40]
push eax
push ecx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x9c], 0x28
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
call dword [sym.imp.GDI32.dll_GetDIBits]
lea edx, [esi + 0x36]
lea ecx, [ebp - 0x54]
mov word [ebp - 0x5c], bx
mov word [ebp - 0x5e], bx
mov word [ebp - 0x64], 0x4d42
mov dword [ebp - 0x62], edx
mov dword [ebp - 0x5a], 0x36
call fcn.00539c44
mov eax, dword [ebp + 8]
push ebx
push 0x1001
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 4
call fcn.0053a073
cmp eax, ebx
je 0x46b0db
push 0xe
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x54]
call fcn.00539992
push 0x28
lea edx, [ebp - 0x9c]
push edx
lea ecx, [ebp - 0x54]
call fcn.00539992
push esi
push edi
lea ecx, [ebp - 0x54]
call fcn.00539992
lea ecx, [ebp - 0x54]
call fcn.00539be2
mov dword [ebp - 4], 3
jmp 0x46b0f6
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.00539d18
cmp edi, ebx
je 0x46b114
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 1
call fcn.005370f9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], vtable.CGdiObject.0
call fcn.00537399
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.005370f9
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret