Function at 0x56e130
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 + 0x454]
push eax
mov eax, ebx
call fcn.00454948
push eax
call sub.user32.dll_GetUpdateRect
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xe4]
test al, al
jne 0x56e1d2
test byte [ebx + 0x54], 0x80
je 0x56e1c4
mov eax, dword [ebx + 0x448]
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 0x15], al
mov edx, esi
mov eax, ebx
call fcn.00456528
cmp byte [ebp - 0x15], 0
je 0x56e4d4
mov eax, dword [ebx + 0x448]
call fcn.00403a5c
xor eax, eax
mov dword [ebx + 0x448], eax
mov dl, 1
mov eax, dword [0x4241c8]
call fcn.0042aebc
mov esi, eax
mov dword [ebx + 0x448], esi
mov eax, esi
call fcn.0042b484
mov dword [ebx + 0x444], eax
jmp 0x56e4d4
mov edx, esi
mov eax, ebx
call fcn.00456528
jmp 0x56e4d4
lea edx, [ebp - 0x65]
mov eax, dword [ebx + 0x208]
call fcn.004265e4
mov eax, ebx
call fcn.0056e860
test al, al
je 0x56e1f1
dec dword [ebx + 0x458]
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 0x56e219
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 + 0x460]
jge 0x56e247
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.00454a10
mov eax, dword [ebp - 0x7c]
mov dword [ebx + 0x460], eax
cmp dword [ebx + 0x458], 0
jne 0x56e27a
cmp dword [ebx + 0x460], 0
jne 0x56e27a
cmp dword [ebx + 0x454], 0
jne 0x56e27a
cmp dword [ebx + 0x45c], 0
jne 0x56e27a
push esi
lea edi, [ebx + 0x454]
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 0x56e2ad
test byte [ebx + 0x55], 1
jne 0x56e29f
mov eax, ebx
call fcn.00451710
test eax, eax
jne 0x56e29f
mov edx, esi
mov eax, ebx
call fcn.00456528
jmp 0x56e4d4
mov edx, esi
mov eax, ebx
call fcn.00452660
jmp 0x56e4d4
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 4], eax
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.00454a10
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 0x56e4cd
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 0x55]
push eax
mov eax, ebx
call fcn.00454948
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 0x56e351
mov eax, ebx
call fcn.00451710
test eax, eax
jne 0x56e351
mov edx, esi
mov eax, ebx
call fcn.00456528
jmp 0x56e35a
mov edx, esi
mov eax, ebx
call fcn.00452660
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 + 0x1a8]
inc dword [ebp - 0x75]
cmp byte [ebx + 0x4b8], 0
je 0x56e3e6
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebx + 0x22c]
mov edx, dword [ebx + 0x228]
mov eax, ebx
call fcn.0056bbec
test al, al
je 0x56e3e6
mov eax, ebx
call fcn.0056e8fc
test al, al
jne 0x56e3e6
mov eax, ebx
call fcn.0056f244
test al, al
je 0x56e3e6
push 0xcc0020
mov edi, dword [ebp - 0x71]
push edi
mov esi, dword [ebp - 0x75]
push esi
mov eax, dword [ebx + 0x208]
call fcn.00426608
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 0x56e45b
mov eax, ebx
call fcn.0056e97c
test al, al
je 0x56e45b
mov esi, dword [ebx + 0x4b0]
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.00418574
push 0xcc0020
mov edi, dword [ebp - 0x71]
push edi
mov esi, dword [ebp - 0x75]
push esi
mov eax, dword [ebx + 0x208]
call fcn.00426608
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 + 0x458]
push edx
mov eax, dword [ebx + 0x454]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebx + 0x460]
sub ecx, edx
push ecx
mov ecx, dword [ebx + 0x45c]
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.00454948
push eax
call sub.user32.dll_EndPaint
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56e4d4
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