Function at 0x61e474
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x68]
xor ecx, ecx
mov edx, 0x2c
call fcn.00407160
mov dword [ebp - 0x68], 0x28
mov word [ebp - 0x5c], 1
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x64], 0xc8
mov dword [ebp - 0x60], 0xffffffff
mov word [ebp - 0x5a], 0x20
push 0
push 0
lea eax, [ebp - 0x28]
push eax
push 0
lea eax, [ebp - 0x68]
push eax
push 0
call sub.gdi32.dll_CreateDIBSection
mov dword [ebp - 0x2c], eax
push 0
call sub.gdi32.dll_CreateCompatibleDC
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call sub.gdi32.dll_SelectObject
push 0
call sub.gdi32.dll_CreateCompatibleDC
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
shl eax, 8
and eax, 0xff00
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
and eax, 0xff00
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
shr eax, 8
and eax, 0xff00
mov dword [ebp - 0x20], eax
xor edi, edi
push ebp
push 0x61e690
push dword fs:[edi]
mov dword fs:[edi], esp
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
add eax, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [eax], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [eax + 4], edx
mov eax, dword [0x76f6cc]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + edx*4]
call fcn.0040bc88
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
jne 0x61e581
push 1
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov edx, dword [ebp - 0x3c]
mov dword [edx], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x34]
push eax
call sub.gdi32.dll_SelectObject
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x61e62b
inc eax
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov eax, dword [0x76f6cc]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + ebx*4]
mov esi, ecx
imul esi, dword [ebp - 0xc]
mov eax, esi
add eax, dword [ebp - 0x18]
mov edx, esi
add edx, dword [ebp - 0x1c]
add esi, dword [ebp - 0x20]
mov ecx, esi
test eax, eax
jge 0x61e5cb
xor eax, eax
test edx, edx
jge 0x61e5d1
xor edx, edx
test ecx, ecx
jge 0x61e5d7
xor ecx, ecx
cmp eax, 0xef00
jle 0x61e5e3
mov eax, 0xef00
cmp edx, 0xef00
jle 0x61e5f0
mov edx, 0xef00
cmp ecx, 0xef00
jle 0x61e5fd
mov ecx, 0xef00
and eax, 0xff00
and edx, 0xff00
shl edx, 8
add eax, edx
and ecx, 0xff00
shl ecx, 0x10
add eax, ecx
shr eax, 8
mov edx, dword [ebp - 0x28]
mov dword [edx + ebx*4], eax
inc ebx
dec dword [ebp - 0x38]
jne 0x61e5a2
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x30]
push eax
push 1
mov eax, dword [ebp - 0x14]
push eax
push 0
push 0
mov eax, dword [ebp - 0x34]
push eax
call sub.gdi32.dll_BitBlt
inc dword [ebp - 0x10]
add dword [ebp - 0x3c], 4
cmp dword [ebp - 0x10], 8
jne 0x61e541
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x61e697
mov eax, dword [ebp - 0x34]
push eax
call sub.gdi32.dll_DeleteDC
mov eax, dword [ebp - 0x30]
push eax
call sub.gdi32.dll_DeleteDC
mov eax, dword [ebp - 0x2c]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 0x24]
push eax
push 0
call sub.user32.dll_ReleaseDC
ret