Function at 0x1012f05
Capabilities:
Capture screenshot

Disassembly:
sub esp, 0x2c
push ebx
push ebp
xor ebp, ebp
push esi
push ebp
mov dword [esp + 0x2c], ebp
push dword [esp + 0x40]
call fcn.010132da
mov esi, dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
mov dword [esp + 0x28], eax
call esi
mov ebx, eax
cmp ebx, ebp
je 0x10132c3
movzx eax, word [ebx + 0xe]
dec eax
push edi
je 0x1012f5d
sub eax, 3
je 0x1012f54
sub eax, 4
je 0x1012f4b
mov word [esp + 0x30], bp
jmp 0x1012f64
mov word [esp + 0x30], 0x100
jmp 0x1012f64
mov word [esp + 0x30], 0x10
jmp 0x1012f64
mov word [esp + 0x30], 2
mov eax, dword [esp + 0x30]
shl eax, 2
movzx edi, ax
nop
push edi
push 0x42
lea eax, [ebx + edi + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x40], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
call esi
cmp eax, ebp
mov dword [esp + 0x34], eax
je 0x10132b8
mov ecx, edi
mov edi, eax
mov eax, ecx
lea esi, [ebx + 0x28]
shr ecx, 2
mov dword [esp + 0x14], esi
push ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
push edi
mov dword [esp + 0x24], edi
call esi
push edi
mov dword [esp + 0x44], eax
call esi
push dword [ebx + 8]
mov esi, eax
mov dword [esp + 0x20], esi
push dword [ebx + 4]
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
mov dword [esp + 0x34], eax
call ebp
push dword [esp + 0x48]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
push esi
mov dword [esp + 0x2c], eax
call ebp
mov eax, dword [ebx + 8]
inc eax
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push esi
call dword [sym.imp.GDI32.dll_Rectangle]
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
call ebp
push dword [esp + 0x24]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp word [esp + 0x30], 0
jbe 0x101309e
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x30]
mov dword [esp + 0x24], eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x14]
push dword [eax]
call fcn.01012ec4
test eax, eax
jne 0x1013086
mov eax, dword [esp + 0x10]
push 0xffffff
push dword [eax]
call fcn.01012ec4
test eax, eax
jne 0x1013086
mov eax, dword [esp + 0x10]
push 0xc0c0c0
push dword [eax]
call fcn.01012ec4
test eax, eax
jne 0x1013086
push 0x14
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
jmp 0x101308a
push dword [esp + 0x48]
push dword [esp + 0x14]
call fcn.01012eeb
add dword [esp + 0x10], 4
dec dword [esp + 0x24]
jne 0x1013040
push 0
push ebx
push dword [esp + 0x40]
push 4
push ebx
push edi
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov edi, eax
push edi
push dword [esp + 0x44]
call ebp
push 0xcc0020
push 0
push 0
mov dword [esp + 0x54], eax
push dword [esp + 0x4c]
push dword [ebx + 8]
push dword [ebx + 4]
push 1
push 1
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [esp + 0x48]
push dword [esp + 0x44]
call ebp
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp word [esp + 0x30], 0
rep movsb byte es:[edi], byte [esi]
jbe 0x1013159
mov esi, dword [esp + 0x14]
movzx edi, word [esp + 0x30]
push dword [esp + 0x44]
push dword [esi]
call fcn.01012ec4
test eax, eax
jne 0x1013148
push 0xffffff
push dword [esi]
call fcn.01012ec4
test eax, eax
jne 0x1013148
push 0xc0c0c0
push dword [esi]
call fcn.01012ec4
test eax, eax
jne 0x1013148
push eax
jmp 0x101314d
push 0xffffff
push esi
call fcn.01012eeb
add esi, 4
dec edi
jne 0x1013116
push 0
push ebx
push dword [esp + 0x40]
push 4
push ebx
push dword [esp + 0x34]
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov esi, eax
push esi
push dword [esp + 0x44]
call ebp
mov edi, eax
xor eax, eax
push 0x8800c6
push eax
push eax
push dword [esp + 0x4c]
push dword [ebx + 8]
push dword [ebx + 4]
push eax
push eax
push dword [esp + 0x3c]
call dword [sym.imp.GDI32.dll_BitBlt]
push edi
push dword [esp + 0x44]
call ebp
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp word [esp + 0x30], 0
rep movsb byte es:[edi], byte [esi]
jbe 0x1013218
mov esi, dword [esp + 0x14]
movzx edi, word [esp + 0x30]
push dword [esp + 0x44]
push dword [esi]
call fcn.01012ec4
test eax, eax
jne 0x101320a
push 0xffffff
push dword [esi]
call fcn.01012ec4
test eax, eax
jne 0x101320a
push 0xc0c0c0
push dword [esi]
call fcn.01012ec4
test eax, eax
jne 0x101320a
push 0x10
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
jmp 0x101320c
push 0
push esi
call fcn.01012eeb
add esi, 4
dec edi
jne 0x10131d0
push 0
push ebx
push dword [esp + 0x40]
push 4
push ebx
push dword [esp + 0x34]
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov esi, eax
mov edi, dword [esp + 0x40]
push esi
push edi
call ebp
push 0xee0086
mov dword [esp + 0x4c], eax
xor eax, eax
push eax
push eax
push edi
push dword [ebx + 8]
push dword [ebx + 4]
push eax
push eax
push dword [esp + 0x3c]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [esp + 0x48]
push edi
call ebp
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
mov eax, ecx
mov esi, ebx
push dword [esp + 0x1c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push dword [esp + 0x40]
call esi
push dword [esp + 0x20]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
pop edi
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop esi
pop ebp
mov eax, dword [esp + 0x20]
pop ebx
add esp, 0x2c
ret 0xc