Function at 0x1022013
Capabilities:
Capture screenshot

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xdc
mov eax, dword [reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification]
push ebx
mov dword [ebp - 4], eax
push esi
push edi
mov ebx, ecx
xor ecx, ecx
xor eax, eax
cmp dword [ebp + 8], ecx
mov dword [ebp - 0xcc], ecx
lea edi, [ebp - 0xc8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x54], ecx
je 0x1022391
cmp dword [ebx + reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification], ecx
mov dword [ebp - 0x50], ecx
je 0x1022391
cmp dword [ebp + 8], ecx
je 0x102239d
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_BeginPaint]
push dword [ebp - 0x44]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
xor edi, edi
cmp esi, edi
mov dword [ebp - 0x48], esi
je 0x1022336
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
push eax
push dword [ebp - 0x44]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
cmp eax, edi
mov dword [ebp - 0xb8], eax
je 0x1026a25
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
push dword [ebp - 0x38]
mov dword [ebp - 0xb4], eax
push dword [ebp - 0x3c]
push esi
call dword [sym.imp.GDI32.dll_OffsetWindowOrgEx]
cmp esi, edi
je 0x1022336
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x3c]
push ecx
push esi
push eax
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.01021d09
push edi
mov ecx, ebx
call fcn.01021f7f
cmp dword [ebp - 0x50], edi
jne 0x102243c
cmp word [ebx + 0x104], di
je 0x102243c
lea eax, [ebp - 0xcc]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetClipBox]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x1026a36
lea eax, [ebp - 0x88]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification]
cmp eax, edi
je 0x1022145
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xbc], eax
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0xf
call edi
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0x12
call edi
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x64], ecx
lea edi, [ebp - 0x60]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0xa0], ecx
lea edi, [ebp - 0x9c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x78], ecx
xor eax, eax
lea edi, [ebp - 0x74]
stosd dword es:[edi], eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x8c], ecx
stosd dword es:[edi], eax
lea ecx, [ebp - 0x64]
push ecx
push dword [ebx + 0xb0]
stosd dword es:[edi], eax
lea eax, reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification
push eax
push esi
mov ecx, ebx
call fcn.01021f45
lea ecx, [ebp - 0xa0]
push ecx
push dword [ebx + 0xc]
lea eax, [ebx + 0x60]
push eax
push esi
mov ecx, ebx
call fcn.01021f45
lea ecx, [ebp - 0x78]
push ecx
push dword [ebx + 0x154]
lea eax, reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification
push eax
push esi
mov ecx, ebx
call fcn.01021f45
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x60]
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x6c]
sub edx, dword [ebp - 0x74]
sar eax, 1
add ecx, eax
add edx, ecx
cmp edx, dword [ebp - 0x7c]
mov dword [ebp - 0x90], eax
jl 0x1026a4a
sub ecx, eax
mov eax, dword [ebp - 0x7c]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x10223ca
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x64]
add eax, dword [ebp - 0x64]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
sub eax, edx
movsd dword es:[edi], dword [esi]
sar eax, 1
test eax, eax
movsd dword es:[edi], dword [esi]
jle 0x1026aa1
push dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [ebp - 0xb0]
push eax
push dword [ebx + 0xb0]
lea eax, reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification
push eax
push dword [ebp - 0x48]
mov ecx, ebx
call fcn.01021fd3
mov eax, dword [ebp - 0x58]
mov ecx, eax
sub ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x90]
add dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x8c], 0
jne 0x1026aa8
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x80]
jg 0x10223d3
sub eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x7c]
jg 0x10223d3
xor eax, eax
cmp dword [ebx + reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification], 0
mov dword [ebx + reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification], eax
je 0x10222c5
push dword [ebp - 0xbc]
push dword [ebp - 0x48]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp dword [ebx + reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification], 0
jne 0x1026b68
mov esi, dword [ebp - 0x48]
xor edi, edi
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x38]
push 0xcc0020
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push esi
push eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
push eax
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x44]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0xb4]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0xb8]
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [ebp + 8], edi
je 0x10223b9
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_EndPaint]
cmp dword [ebp - 0x50], edi
jne 0x1022410
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.01001b01
leave
ret 4
mov dword [ebp - 0x50], 1
jmp 0x1022059
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDC]
lea ecx, [ebp - 0x3c]
push ecx
push eax
mov dword [ebp - 0x44], eax
call dword [sym.imp.GDI32.dll_GetClipBox]
jmp 0x102206f
push dword [ebp - 0x44]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x1022336
and dword [ebp - 0x4c], 0
jmp 0x102221a
xor eax, eax
inc eax
jmp 0x10222a7
push dword [ebp - 0x54]
mov ecx, ebx
call fcn.010223e0
cmp esi, edi
je 0x102233f
cmp dword [ebp - 0x54], edi
je 0x1026bb8
push 1
push edi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x102233f
mov ecx, ebx
call fcn.01022450
mov dword [ebp - 0x54], eax
jmp 0x1022104
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov dword [ebp - 0x48], edi
mov esi, edi
jmp 0x10220c8
cmp dword [ebp + 8], edi
jne 0x102211d
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], ecx
jmp 0x10222d7
mov esi, dword [ebp - 0x70]
sub esi, dword [ebp - 0x78]
cmp esi, dword [ebp - 0x80]
jge 0x1022203
lea ecx, [edx + eax]
mov edx, dword [ebp - 0x94]
sub edx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], 1
add edx, ecx
cmp edx, dword [ebp - 0x7c]
jge 0x1022203
mov esi, dword [ebp - 0x98]
sub esi, dword [ebp - 0xa0]
cmp esi, dword [ebp - 0x80]
jge 0x1022203
mov dword [ebp - 0x68], 1
lea ecx, [edx + eax]
jmp 0x1022203
xor eax, eax
jmp 0x102223d
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x70]
lea esi, [ebp - 0x78]
add eax, dword [ebp - 0x78]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
sub eax, edx
movsd dword es:[edi], dword [esi]
sar eax, 1
test eax, eax
movsd dword es:[edi], dword [esi]
jg 0x1026ac9
xor eax, eax
push dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [ebp - 0xb0]
push eax
push dword [ebx + 0x154]
lea eax, reloc.WINSTA.dll_WinStationUnRegisterConsoleNotification
push eax
push dword [ebp - 0x48]
mov ecx, ebx
call fcn.01021fd3
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x90]
add dword [ebp - 0x4c], eax
cmp dword [ebp - 0x68], 0
je 0x1026b60
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x98]
lea esi, [ebp - 0xa0]
add eax, dword [ebp - 0xa0]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
sub eax, edx
movsd dword es:[edi], dword [esi]
sar eax, 1
test eax, eax
movsd dword es:[edi], dword [esi]
jg 0x1026b37
xor eax, eax
push dword [ebp - 0x4c]
push eax
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [ebp - 0xb0]
push eax
push dword [ebx + 0xc]
lea eax, [ebx + 0x60]
push eax
push dword [ebp - 0x48]
mov ecx, ebx
call fcn.01021fd3
mov eax, dword [ebp - 0x58]
jmp 0x102228a
push 0
push 0
push 0x129
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
test al, 1
jne 0x10222d2
lea esi, [ebp - 0x88]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
push 0xfffffffffffffffe
lea eax, [ebp - 0xdc]
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_InflateRect]
lea eax, [ebp - 0xdc]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.USER32.dll_DrawFocusRect]
jmp 0x10222d2
cmp dword [ebp + 8], edi
jne 0x102242b
push edi
jmp 0x102242d