Function at 0x4b5184
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x4b518d
mov eax, dword [ebp - 4]
add esp, 0xffffff98
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x8064], eax
mov dword [ebp - 0x8060], eax
mov dword [ebp - 0x805c], eax
mov dword [ebp - 0x8058], eax
mov dword [ebp - 0x8050], eax
mov dword [ebp - 0x8054], eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b5797
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
add eax, 0xfffffe58
xor ecx, ecx
mov edx, 0x4b57a8
call fcn.004cce34
mov ebx, dword [0x4d8a88]
mov ebx, dword [ebx]
mov eax, dword [ebp + 8]
add eax, 0xfffffe58
mov ecx, 9
mov edx, 0x4b57a8
call fcn.004cce34
mov eax, dword [0x4d8c28]
mov eax, dword [eax]
call fcn.00405f70
mov edx, eax
lea eax, [ebp - 0x8024]
call fcn.0040a764
lea eax, [ebp - 4]
mov edx, dword [0x4d8c28]
mov edx, dword [edx]
call fcn.00405b44
mov eax, dword [ebp + 8]
add eax, 0xfffffe58
xor ecx, ecx
mov edx, 0x4b57a8
call fcn.004cce34
mov esi, dword [0x4d8a88]
mov esi, dword [esi]
mov eax, dword [ebp + 8]
add eax, 0xfffffe58
xor ecx, ecx
mov edx, 0x4b57a8
call fcn.004cce34
mov edi, dword [0x4d8a88]
mov edi, dword [edi]
mov eax, dword [ebp + 8]
add eax, 0xfffffe58
xor ecx, ecx
mov edx, 0x4b57ac
call fcn.004cce34
mov eax, dword [0x4d8a88]
mov eax, dword [eax]
mov dword [ebp - 8], eax
cmp ebx, 0xffffffff
jne 0x4b52e9
lea edx, [ebp - 0x8054]
mov eax, dword [ebp - 4]
call fcn.0040a42c
mov eax, dword [ebp - 0x8054]
lea edx, [ebp - 0x8050]
call fcn.00409a64
mov eax, dword [ebp - 0x8050]
mov edx, 0x4b57b8
call fcn.00405ebc
jne 0x4b52d4
mov eax, dword [ebp - 4]
call fcn.00457124
mov edx, dword [0x4d8a88]
mov dword [edx], eax
jmp 0x4b55e5
mov eax, dword [ebp - 4]
call fcn.004591ac
mov edx, dword [0x4d8a88]
mov dword [edx], eax
jmp 0x4b55e5
test ebx, ebx
jne 0x4b55c8
lea edx, [ebp - 0x8058]
mov eax, dword [ebp - 4]
call fcn.00409a64
mov eax, dword [ebp - 0x8058]
mov edx, 0x4b57c8
call fcn.00405ebc
jne 0x4b5333
push 4
push 0
push 0
push 0
mov eax, dword [0x4d8b94]
mov eax, dword [eax]
push eax
call sub.user32.dll_CopyImage
mov edx, dword [0x4d8a88]
mov dword [edx], eax
jmp 0x4b55e5
lea edx, [ebp - 0x805c]
mov eax, dword [ebp - 4]
call fcn.00409a64
mov eax, dword [ebp - 0x805c]
mov edx, 0x4b57d8
call fcn.00405ebc
jne 0x4b53f8
lea eax, [ebp - 0x804c]
push eax
mov eax, dword [0x4d88d8]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateCompatibleDC
mov ebx, eax
mov eax, dword [ebp - 0x8040]
push eax
mov eax, dword [ebp - 0x8044]
push eax
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
push ebx
call sub.gdi32.dll_SelectObject
xor eax, eax
call fcn.00428304
push eax
push 0
push 0
mov eax, dword [0x4d88d8]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetDC
push eax
mov eax, dword [ebp - 0x8040]
push eax
mov eax, dword [ebp - 0x8044]
push eax
push 0
push 0
push ebx
call sub.gdi32.dll_BitBlt
push 8
push 0
push 0
push 0
mov eax, dword [ebp - 0x24]
push eax
call sub.user32.dll_CopyImage
mov edx, dword [0x4d8a88]
mov dword [edx], eax
push ebx
call sub.gdi32.dll_DeleteObject
jmp 0x4b55e5
lea edx, [ebp - 0x8060]
mov eax, dword [ebp - 4]
call fcn.00409a64
mov eax, dword [ebp - 0x8060]
mov edx, 0x4b57e8
call fcn.00405ebc
jne 0x4b54b9
lea eax, [ebp - 0x804c]
push eax
call sub.user32.dll_GetDesktopWindow
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateCompatibleDC
mov ebx, eax
mov eax, dword [ebp - 0x8040]
push eax
mov eax, dword [ebp - 0x8044]
push eax
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
push ebx
call sub.gdi32.dll_SelectObject
xor eax, eax
call fcn.00428304
push eax
push 0
push 0
call sub.user32.dll_GetDesktopWindow
push eax
call sub.user32.dll_GetDC
push eax
mov eax, dword [ebp - 0x8040]
push eax
mov eax, dword [ebp - 0x8044]
push eax
push 0
push 0
push ebx
call sub.gdi32.dll_BitBlt
push 8
push 0
push 0
push 0
mov eax, dword [ebp - 0x24]
push eax
call sub.user32.dll_CopyImage
mov edx, dword [0x4d8a88]
mov dword [edx], eax
push ebx
call sub.gdi32.dll_DeleteObject
jmp 0x4b55e5
lea edx, [ebp - 0x8064]
mov eax, dword [ebp - 4]
call fcn.00409a64
mov eax, dword [ebp - 0x8064]
mov edx, 0x4b57f8
call fcn.00405ebc
jne 0x4b55a4
mov eax, dword [0x4d8ecc]
cmp dword [eax], 0
jne 0x4b54f3
xor edx, edx
mov eax, 0x190
call fcn.00457e90
lea eax, [ebp - 0x804c]
push eax
mov eax, dword [0x4d8ecc]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetClientRect
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateCompatibleDC
mov ebx, eax
mov eax, dword [ebp - 0x8040]
push eax
mov eax, dword [ebp - 0x8044]
push eax
mov eax, dword [0x4d8dd4]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
push ebx
call sub.gdi32.dll_SelectObject
mov eax, dword [0x4d8ecc]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetDC
push eax
call sub.gdi32.dll_SwapBuffers
xor eax, eax
call fcn.00428304
push eax
push 0
push 0
mov eax, dword [0x4d8ecc]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetDC
push eax
mov eax, dword [ebp - 0x8040]
push eax
mov eax, dword [ebp - 0x8044]
push eax
push 0
push 0
push ebx
call sub.gdi32.dll_BitBlt
push 8
push 0
push 0
push 0
mov eax, dword [ebp - 0x24]
push eax
call sub.user32.dll_CopyImage
mov edx, dword [0x4d8a88]
mov dword [edx], eax
push ebx
call sub.gdi32.dll_DeleteObject
jmp 0x4b55e5
push 0x40
push 0
push 0
push 0
lea eax, [ebp - 0x8024]
push eax
mov eax, dword [0x4dc7f4]
push eax
call sub.user32.dll_LoadImageA
mov edx, dword [0x4d8a88]
mov dword [edx], eax
jmp 0x4b55e5
push 0x40
push 0
push 0
push 0
lea eax, [ebp - 0x8024]
push eax
push ebx
call sub.user32.dll_LoadImageA
mov edx, dword [0x4d8a88]
mov dword [edx], eax
mov eax, dword [0x4d8a88]
cmp dword [eax], 0
jne 0x4b5606
mov edx, dword [0x4d8c28]
mov edx, dword [edx]
mov eax, 0xe4
call fcn.004584b4
jmp 0x4b575a
cmp dword [ebp - 8], 0
jle 0x4b56bd
lea eax, [ebp - 0x803c]
push eax
push 0x18
mov eax, dword [0x4d8a88]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_GetObjectA
mov ebx, dword [ebp - 0x8038]
mov eax, dword [ebp - 0x8034]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x8068], ebx
fild dword [ebp - 0x8068]
mov dword [ebp - 0x806c], esi
fild dword [ebp - 0x806c]
fdivp st(1)
fstp qword [ebp - 0x18]
wait
fild dword [ebp - 0xc]
mov dword [ebp - 0x8068], edi
fild dword [ebp - 0x8068]
fdivp st(1)
fstp qword [ebp - 0x20]
wait
fld qword [ebp - 0x18]
fcomp qword [ebp - 0x20]
wait
fnstsw ax
sahf
jbe 0x4b5694
fild dword [ebp - 0xc]
fdiv qword [ebp - 0x18]
call fcn.004033bc
mov edi, eax
fld dword [0x4b5800]
fdiv qword [ebp - 0x18]
mov eax, dword [0x4d9078]
fstp qword [eax]
wait
jmp 0x4b56cd
mov dword [ebp - 0x8068], ebx
fild dword [ebp - 0x8068]
fdiv qword [ebp - 0x20]
call fcn.004033bc
mov esi, eax
fld dword [0x4b5800]
fdiv qword [ebp - 0x20]
mov eax, dword [0x4d9078]
fstp qword [eax]
wait
jmp 0x4b56cd
mov eax, dword [0x4d9078]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0xbff00000
push 0
push edi
push esi
push 0
mov eax, dword [0x4d8a88]
mov eax, dword [eax]
push eax
call sub.user32.dll_CopyImage
mov ebx, eax
mov eax, dword [0x4d8a88]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [0x4d8a88]
mov dword [eax], ebx
mov eax, dword [0x4d8a88]
cmp dword [eax], 0
jne 0x4b5714
mov edx, dword [0x4d8c28]
mov edx, dword [edx]
mov eax, 0xe4
call fcn.004584b4
jmp 0x4b575a
lea eax, [ebp - 0x803c]
push eax
push 0x18
mov eax, dword [0x4d8a88]
mov eax, dword [eax]
push eax
call sub.gdi32.dll_GetObjectA
mov eax, dword [0x4d8e70]
mov edx, dword [ebp - 0x8038]
mov dword [eax], edx
mov eax, dword [0x4d8dd0]
mov edx, dword [ebp - 0x8034]
mov dword [eax], edx
movzx ecx, word [ebp - 0x802a]
mov eax, 1
shl eax, cl
mov edx, dword [0x4d8d8c]
mov dword [edx], eax
call fcn.00402f54
mov eax, dword [0x4d8ca0]
mov byte [eax], 2
mov eax, dword [ebp + 8]
mov byte [eax - 0x1a9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b579e
lea eax, [ebp - 0x8064]
mov edx, 6
call fcn.00405ad0
lea eax, [ebp - 4]
call fcn.00405aac
ret