Function at 0x4e6fbd
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, 0x562198
mov esi, 0x5621c8
mov edi, 0x5621f8
cmp dword [0x53646c], 0
jne 0x4e7a80
mov dword [0x53646c], 1
xor eax, eax
mov dword [0x5621b8], eax
xor edx, edx
mov dword [0x5621bc], edx
xor ecx, ecx
mov dword [0x5621b0], ecx
xor eax, eax
mov dword [0x5621a8], eax
cmp dword [0x536414], 0
je 0x4e79ef
cmp dword [0x536438], 0
je 0x4e79ef
push dword [0x536438]
call sub.USER32.dll_GetDC
mov dword [0x5621b8], eax
cmp dword [0x5621b8], 0
je 0x4e79ef
cmp dword [0x53644c], 0
je 0x4e705c
xor edx, edx
mov dword [0x53644c], edx
push 0x7e
push dword [0x536438]
call sub.USER32.dll_KillTimer
push esi
push dword [0x536438]
call sub.USER32.dll_GetClientRect
mov ecx, dword [0x536468]
cmp ecx, dword [esi + 8]
je 0x4e7080
call fcn.004e6c8c
mov eax, dword [esi + 8]
mov dword [0x536468], eax
push 1
push dword [0x5621b8]
call sub.GDI32.dll_SetMapMode
mov dword [0x5621a4], eax
push 0
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x5621bc], eax
cmp dword [0x5621bc], 0
je 0x4e79ef
cmp dword [ebp + 8], 0
je 0x4e70f9
mov edx, dword [ebp + 8]
cmp dword [edx + 0x82c], 0
jne 0x4e70c2
call fcn.004e6c8c
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x824]
mov edx, dword [ebp + 8]
sub eax, dword [edx + 0x81c]
inc eax
mov dword [esi + 8], eax
cmp dword [0x53642c], 2
jl 0x4e70f9
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x828]
mov edx, dword [ebp + 8]
sub eax, dword [edx + 0x820]
add eax, 2
mov dword [esi + 0xc], eax
push dword [esi + 0xc]
push dword [esi + 8]
push dword [0x5621b8]
call sub.GDI32.dll_CreateCompatibleBitmap
mov dword [0x5621a8], eax
cmp dword [0x5621a8], 0
je 0x4e79ef
push dword [0x5621a8]
push dword [0x5621bc]
call sub.GDI32.dll_SelectObject
mov dword [0x5621ac], eax
push dword [0x52a3a8]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
cmp dword [0x5621c4], 0
je 0x4e79ef
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
push 0x536504
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x48
push 0x5a
push dword [0x5621b8]
call sub.GDI32.dll_GetDeviceCaps
push eax
push 8
call sub.KERNEL32.dll_MulDiv
neg eax
push eax
call sub.GDI32.dll_CreateFontA
mov dword [0x5621b0], eax
cmp dword [0x5621b0], 0
je 0x4e79ef
push dword [0x5621b0]
push dword [0x5621bc]
call sub.GDI32.dll_SelectObject
mov dword [0x5621b4], eax
cmp dword [0x537430], 0
je 0x4e7738
push 0x5621e8
call sub.USER32.dll_GetCursorPos
push 0x5621e8
push dword [0x536438]
call sub.USER32.dll_ScreenToClient
cmp dword [ebp + 8], 0
je 0x4e72b8
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x650], 0
je 0x4e79ef
push dword [ebp + 8]
call fcn.004e6b79
mov dword [0x5621c0], eax
cmp dword [0x5621c0], 0
je 0x4e79ef
mov eax, dword [ebp + 8]
push esi
lea esi, [eax + 0x81c]
mov edi, 0x5621d8
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x81c]
mov ecx, dword [ebp + 8]
sub dword [ecx + 0x824], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax + 0x81c], edx
cmp dword [0x53642c], 2
jl 0x4e7288
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x820]
mov edx, dword [ebp + 8]
sub dword [edx + 0x828], eax
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x820], eax
push dword [0x5621c0]
push dword [0x5621bc]
push dword [ebp + 8]
call fcn.004e62e5
mov edx, dword [ebp + 8]
push esi
lea edi, [edx + 0x81c]
mov esi, 0x5621d8
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop esi
jmp 0x4e7738
xor eax, eax
mov dword [0x5621a0], eax
mov dword [0x56219c], 1
mov edx, dword [0x537418]
mov dword [ebx], edx
jmp 0x4e733c
mov ecx, dword [ebx]
cmp byte [ecx + 0x650], 0
je 0x4e7332
push dword [ebx]
call fcn.004e6b79
mov dword [0x5621c0], eax
cmp dword [0x5621c0], 0
je 0x4e7332
mov eax, dword [ebx]
mov edx, dword [eax + 0x82c]
cmp edx, dword [0x56219c]
je 0x4e7319
call fcn.004e6c8c
inc dword [0x5621a0]
cmp dword [0x5621a0], 2
jg 0x4e7341
jmp 0x4e72bf
push dword [0x5621c0]
push dword [0x5621bc]
push dword [ebx]
call fcn.004e62e5
inc dword [0x56219c]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x9a8]
mov dword [ebx], eax
cmp dword [ebx], 0
jne 0x4e72d3
cmp dword [0x537418], 0
je 0x4e7738
cmp dword [0x5362fc], 0
je 0x4e7738
push 0
call sub.GDI32.dll_CreateCompatibleDC
mov dword [0x5621f4], eax
cmp dword [0x5621f4], 0
je 0x4e7738
push dword [0x5362fc]
push dword [0x5621f4]
call sub.GDI32.dll_SelectObject
mov dword [0x5621f0], eax
cmp dword [0x53642c], 0
jne 0x4e7403
push 0xcc0020
push 0
push 0
push dword [0x5621f4]
mov edx, dword [0x537418]
mov ecx, dword [edx + 0x820]
add ecx, 0xfffffffe
push ecx
push dword [esi + 8]
push 2
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push 0xcc0020
mov eax, dword [0x537418]
push dword [eax + 0x828]
push 0
push dword [0x5621f4]
push 4
push dword [esi + 8]
mov edx, dword [0x537418]
mov ecx, dword [edx + 0x828]
add ecx, 2
push ecx
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
jmp 0x4e74f6
cmp dword [0x53642c], 1
jne 0x4e7478
push 0xcc0020
push 0
push 0
push dword [0x5621f4]
mov eax, dword [0x537418]
push dword [eax + 0x820]
push dword [esi + 8]
push 0
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push 0xcc0020
mov edx, dword [0x537418]
mov ecx, dword [edx + 0x828]
add ecx, 2
push ecx
push 0
push dword [0x5621f4]
push 3
push dword [esi + 8]
mov eax, dword [0x537418]
mov edx, dword [eax + 0x828]
add edx, 2
push edx
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
jmp 0x4e74f6
cmp dword [0x53642c], 2
jl 0x4e74f6
push 0xcc0020
push 0
push 0
push dword [0x5621f4]
push dword [esi + 0xc]
mov ecx, dword [0x537418]
push dword [ecx + 0x81c]
push 0
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push 0xcc0020
push 0
mov eax, dword [0x537418]
mov edx, dword [eax + 0x824]
inc edx
push edx
push dword [0x5621f4]
push dword [esi + 0xc]
mov ecx, dword [0x537418]
mov eax, dword [esi + 8]
sub eax, dword [ecx + 0x824]
push eax
push 0
mov edx, dword [0x537418]
mov ecx, dword [edx + 0x824]
inc ecx
push ecx
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
mov dword [edi], 0xffffffff
mov eax, dword [0x537418]
mov dword [ebx], eax
jmp 0x4e76b4
mov edx, dword [ebx]
cmp byte [edx + 0x650], 0
je 0x4e76aa
push dword [ebx]
call fcn.004e6b79
mov dword [0x5621c0], eax
cmp dword [0x5621c0], 0
je 0x4e76aa
cmp dword [0x53642c], 0
jne 0x4e75b0
push 0xcc0020
push 0
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x81c]
dec eax
push eax
push dword [0x5621f4]
push dword [esi + 0xc]
push 1
push 2
push eax
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push 0xcc0020
push 0
mov edx, dword [ebx]
mov eax, dword [edx + 0x824]
inc eax
push eax
push dword [0x5621f4]
push dword [esi + 0xc]
push 2
push 2
push eax
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
mov dword [edi + 4], 2
mov edx, dword [esi + 0xc]
mov dword [edi + 0xc], edx
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x824]
inc eax
mov dword [edi], eax
mov edx, dword [esi + 8]
mov dword [edi + 8], edx
jmp 0x4e76aa
cmp dword [0x53642c], 1
jne 0x4e762b
push 0xcc0020
push 0
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x81c]
dec eax
push eax
push dword [0x5621f4]
push dword [esi + 0xc]
push 1
push 0
push eax
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push 0xcc0020
push 0
mov edx, dword [ebx]
mov eax, dword [edx + 0x824]
inc eax
push eax
push dword [0x5621f4]
push dword [esi + 0xc]
push 2
push 0
push eax
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
xor edx, edx
mov dword [edi + 4], edx
mov ecx, dword [esi + 0xc]
mov dword [edi + 0xc], ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x824]
inc edx
mov dword [edi], edx
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
jmp 0x4e76aa
cmp dword [0x53642c], 2
jl 0x4e76aa
push 0xcc0020
mov eax, dword [ebx]
mov eax, dword [eax + 0x820]
add eax, 0xfffffffe
push eax
push 0
push dword [0x5621f4]
push 2
push dword [esi + 8]
push eax
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push 0xcc0020
mov edx, dword [ebx]
mov eax, dword [edx + 0x828]
add eax, 2
push eax
push 0
push dword [0x5621f4]
push 2
push dword [esi + 8]
push eax
push 0
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
mov edx, dword [ebx]
mov ecx, dword [edx + 0x828]
add ecx, 2
mov dword [edi + 4], ecx
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
xor edx, edx
mov dword [edi], edx
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x9a8]
mov dword [ebx], edx
cmp dword [ebx], 0
jne 0x4e7508
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x4e771c
cmp dword [0x53642c], 0
jne 0x4e76f7
push 0xcc0020
mov edx, dword [edi + 4]
add edx, 0xfffffffe
push edx
push eax
push dword [0x5621f4]
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push eax
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
jmp 0x4e771c
push 0xcc0020
mov edx, dword [edi + 4]
push edx
mov eax, dword [edi]
push eax
push dword [0x5621f4]
push dword [edi + 0xc]
push dword [edi + 8]
push edx
push eax
push dword [0x5621bc]
call sub.GDI32.dll_BitBlt
push dword [0x5621f0]
push dword [0x5621f4]
call sub.GDI32.dll_SelectObject
push dword [0x5621f4]
call sub.GDI32.dll_DeleteDC
push esi
push dword [0x536438]
call sub.USER32.dll_GetClientRect
cmp dword [0x53642c], 3
jne 0x4e77c4
cmp dword [ebp + 8], 0
jne 0x4e793f
mov dword [esi + 8], 2
push dword [0x52a3b0]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
mov dword [esi + 8], 1
push dword [0x52a3bc]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
jmp 0x4e793f
cmp dword [0x53642c], 2
jne 0x4e7847
cmp dword [ebp + 8], 0
jne 0x4e793f
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi], ecx
push dword [0x52a3ac]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
mov eax, dword [esi + 8]
add eax, 0xfffffffe
mov dword [esi], eax
dec dword [esi + 8]
push dword [0x52a3bc]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
jmp 0x4e793f
cmp dword [0x53642c], 1
jne 0x4e78c2
mov edx, dword [esi + 0xc]
add edx, 0xfffffffe
mov dword [esi + 4], edx
mov ecx, dword [esi + 4]
inc ecx
mov dword [esi + 0xc], ecx
push dword [0x52a3bc]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
inc dword [esi + 4]
inc dword [esi + 0xc]
push dword [0x52a3ac]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
jmp 0x4e793f
cmp dword [0x53642c], 0
jne 0x4e793f
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 0xc], 1
push dword [0x52a3bc]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
mov dword [esi + 4], 1
mov dword [esi + 0xc], 2
push dword [0x52a3b0]
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5621c4], eax
push dword [0x5621c4]
push esi
push dword [0x5621bc]
call sub.USER32.dll_FillRect
push dword [0x5621c4]
call sub.GDI32.dll_DeleteObject
push esi
push dword [0x536438]
call sub.USER32.dll_GetClientRect
xor edx, edx
mov dword [0x5621dc], edx
cmp dword [ebp + 8], 0
je 0x4e79c6
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x81c]
mov dword [esi], eax
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x824]
sub ecx, eax
inc ecx
mov dword [esi + 8], ecx
mov eax, dword [0x53642c]
cmp eax, 2
jl 0x4e799d
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x820]
mov dword [esi + 4], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x828]
sub edx, dword [esi + 4]
add edx, 2
mov dword [esi + 0xc], edx
jmp 0x4e79c6
dec eax
jne 0x4e79b4
mov dword [0x5621dc], 2
add dword [esi + 4], 2
sub dword [esi + 0xc], 5
jmp 0x4e79c6
mov dword [0x5621dc], 4
add dword [esi + 4], 4
sub dword [esi + 0xc], 5
push 0xcc0020
push dword [0x5621dc]
push 0
push dword [0x5621bc]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
push dword [esi]
push dword [0x5621b8]
call sub.GDI32.dll_BitBlt
cmp dword [0x5621b0], 0
je 0x4e7a14
push dword [0x5621b4]
push dword [0x5621bc]
call sub.GDI32.dll_SelectObject
push dword [0x5621b0]
call sub.GDI32.dll_DeleteObject
cmp dword [0x5621bc], 0
je 0x4e7a4d
cmp dword [0x5621a8], 0
je 0x4e7a42
push dword [0x5621ac]
push dword [0x5621bc]
call sub.GDI32.dll_SelectObject
push dword [0x5621a8]
call sub.GDI32.dll_DeleteObject
push dword [0x5621bc]
call sub.GDI32.dll_DeleteDC
cmp dword [0x5621b8], 0
je 0x4e7a78
push dword [0x5621a4]
push dword [0x5621b8]
call sub.GDI32.dll_SetMapMode
push dword [0x5621b8]
push dword [0x536438]
call sub.USER32.dll_ReleaseDC
xor ecx, ecx
mov dword [0x53646c], ecx
pop edi
pop esi
pop ebx
pop ebp
ret 4