Function at 0x5cbbd0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff68
push ebx
push esi
push edi
mov esi, edx
mov ebx, eax
push 0
lea eax, [ebx + 0x45c]
push eax
mov eax, ebx
call fcn.0048cc2c
push eax
call sub.user32.dll_GetUpdateRect
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xe8]
test al, al
jne 0x5cbc72
test byte [ebx + 0x54], 0x80
je 0x5cbc64
mov eax, dword [ebx + 0x450]
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 0x15], al
mov edx, esi
mov eax, ebx
call fcn.0048e980
cmp byte [ebp - 0x15], 0
je 0x5cbf74
mov eax, dword [ebx + 0x450]
call fcn.00403bf8
xor eax, eax
mov dword [ebx + 0x450], eax
mov dl, 1
mov eax, dword [0x42ae94]
call fcn.00431c44
mov esi, eax
mov dword [ebx + 0x450], esi
mov eax, esi
call fcn.0043220c
mov dword [ebx + 0x44c], eax
jmp 0x5cbf74
mov edx, esi
mov eax, ebx
call fcn.0048e980
jmp 0x5cbf74
lea edx, [ebp - 0x65]
mov eax, dword [ebx + 0x208]
call fcn.0042d324
mov eax, ebx
call fcn.005cc300
test al, al
je 0x5cbc91
dec dword [ebx + 0x460]
lea edx, [ebp - 0x88]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x5d]
jge 0x5cbcb9
lea edx, [ebp - 0x88]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x5d], eax
lea edx, [ebp - 0x88]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebx + 0x468]
jge 0x5cbce7
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.0048ccf4
mov eax, dword [ebp - 0x7c]
mov dword [ebx + 0x468], eax
cmp dword [ebx + 0x460], 0
jne 0x5cbd1a
cmp dword [ebx + 0x468], 0
jne 0x5cbd1a
cmp dword [ebx + 0x45c], 0
jne 0x5cbd1a
cmp dword [ebx + 0x464], 0
jne 0x5cbd1a
push esi
lea edi, [ebx + 0x45c]
lea esi, [ebp - 0x65]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
cmp dword [esi + 4], 0
je 0x5cbd4d
test byte [ebx + 0x55], 1
jne 0x5cbd3f
mov eax, ebx
call fcn.004898a0
test eax, eax
jne 0x5cbd3f
mov edx, esi
mov eax, ebx
call fcn.0048e980
jmp 0x5cbf74
mov edx, esi
mov eax, ebx
call fcn.0048a824
jmp 0x5cbf74
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 4], eax
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.0048ccf4
mov eax, dword [ebp - 0x7c]
push eax
lea edx, [ebp - 0x98]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
push eax
push 0
call sub.user32.dll_ReleaseDC
push 0
call sub.gdi32.dll_CreateCompatibleDC
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_SelectObject
mov dword [ebp - 0x10], eax
xor ecx, ecx
push ebp
push 0x5cbf6d
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 0x55]
push eax
mov eax, ebx
call fcn.0048cc2c
push eax
call sub.user32.dll_BeginPaint
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov dword [esi + 4], eax
test byte [ebx + 0x55], 1
jne 0x5cbdf1
mov eax, ebx
call fcn.004898a0
test eax, eax
jne 0x5cbdf1
mov edx, esi
mov eax, ebx
call fcn.0048e980
jmp 0x5cbdfa
mov edx, esi
mov eax, ebx
call fcn.0048a824
xor eax, eax
mov dword [esi + 4], eax
lea eax, [ebp - 0x75]
push eax
mov ecx, dword [ebx + 0x22c]
mov edx, dword [ebx + 0x228]
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1b0]
inc dword [ebp - 0x75]
cmp byte [ebx + 0x4d4], 0
je 0x5cbe86
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebx + 0x22c]
mov edx, dword [ebx + 0x228]
mov eax, ebx
call fcn.005c9344
test al, al
je 0x5cbe86
mov eax, ebx
call fcn.005cc39c
test al, al
jne 0x5cbe86
mov eax, ebx
call fcn.005ccd74
test al, al
je 0x5cbe86
push 0xcc0020
mov edi, dword [ebp - 0x71]
push edi
mov esi, dword [ebp - 0x75]
push esi
mov eax, dword [ebx + 0x208]
call fcn.0042d348
push eax
mov eax, dword [ebp - 0x69]
sub eax, edi
push eax
mov eax, dword [ebp - 0x6d]
sub eax, esi
push eax
push edi
push esi
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_BitBlt
test byte [ebx + 0x1c], 0x10
jne 0x5cbefb
mov eax, ebx
call fcn.005cc41c
test al, al
je 0x5cbefb
mov esi, dword [ebx + 0x4cc]
mov eax, dword [esi + 0x274]
mov eax, dword [eax + 0x44]
mov edi, dword [esi + 0x274]
add eax, dword [edi + 0x4c]
push eax
lea eax, [ebp - 0x75]
push eax
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 0x40]
add ecx, dword [edi + 0x48]
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
call fcn.0041e218
push 0xcc0020
mov edi, dword [ebp - 0x71]
push edi
mov esi, dword [ebp - 0x75]
push esi
mov eax, dword [ebx + 0x208]
call fcn.0042d348
push eax
mov eax, dword [ebp - 0x69]
sub eax, edi
push eax
mov eax, dword [ebp - 0x6d]
sub eax, esi
push eax
push edi
push esi
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_BitBlt
push 0xcc0020
mov edx, dword [ebx + 0x460]
push edx
mov eax, dword [ebx + 0x45c]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebx + 0x468]
sub ecx, edx
push ecx
mov ecx, dword [ebx + 0x464]
sub ecx, eax
push ecx
push edx
push eax
mov eax, dword [ebp - 4]
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0x55]
push eax
mov eax, ebx
call fcn.0048cc2c
push eax
call sub.user32.dll_EndPaint
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5cbf74
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_SelectObject
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_DeleteDC
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_DeleteObject
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret