Function at 0x6043ec
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 + 0x46c]
push eax
mov eax, ebx
call fcn.0048a000
push eax
call sub.user32.dll_GetUpdateRect
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xe8]
test al, al
jne 0x60448e
test byte [ebx + 0x54], 0x80
je 0x604480
mov eax, dword [ebx + 0x460]
mov edx, dword [eax]
call dword [edx + 0x1c]
mov byte [ebp - 0x15], al
mov edx, esi
mov eax, ebx
call fcn.0048bd54
cmp byte [ebp - 0x15], 0
je 0x604790
mov eax, dword [ebx + 0x460]
call fcn.00403fa8
xor eax, eax
mov dword [ebx + 0x460], eax
mov dl, 1
mov eax, dword [0x42c7ec]
call fcn.0043318c
mov esi, eax
mov dword [ebx + 0x460], esi
mov eax, esi
call fcn.00433754
mov dword [ebx + 0x45c], eax
jmp 0x604790
mov edx, esi
mov eax, ebx
call fcn.0048bd54
jmp 0x604790
lea edx, [ebp - 0x65]
mov eax, dword [ebx + 0x208]
call fcn.0042ec3c
mov eax, ebx
call fcn.00604b1c
test al, al
je 0x6044ad
dec dword [ebx + 0x470]
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 0x6044d5
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 + 0x478]
jge 0x604503
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.0048a0c8
mov eax, dword [ebp - 0x7c]
mov dword [ebx + 0x478], eax
cmp dword [ebx + 0x470], 0
jne 0x604536
cmp dword [ebx + 0x478], 0
jne 0x604536
cmp dword [ebx + 0x46c], 0
jne 0x604536
cmp dword [ebx + 0x474], 0
jne 0x604536
push esi
lea edi, [ebx + 0x46c]
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 0x604569
test byte [ebx + 0x55], 1
jne 0x60455b
mov eax, ebx
call fcn.00486c74
test eax, eax
jne 0x60455b
mov edx, esi
mov eax, ebx
call fcn.0048bd54
jmp 0x604790
mov edx, esi
mov eax, ebx
call fcn.00487bf8
jmp 0x604790
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 4], eax
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.0048a0c8
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 0x604789
push dword fs:[ecx]
mov dword fs:[ecx], esp
lea eax, [ebp - 0x55]
push eax
mov eax, ebx
call fcn.0048a000
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 0x60460d
mov eax, ebx
call fcn.00486c74
test eax, eax
jne 0x60460d
mov edx, esi
mov eax, ebx
call fcn.0048bd54
jmp 0x604616
mov edx, esi
mov eax, ebx
call fcn.00487bf8
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 + 0x4e8], 0
je 0x6046a2
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebx + 0x22c]
mov edx, dword [ebx + 0x228]
mov eax, ebx
call fcn.00601984
test al, al
je 0x6046a2
mov eax, ebx
call fcn.00604bb8
test al, al
jne 0x6046a2
mov eax, ebx
call fcn.006055d4
test al, al
je 0x6046a2
push 0xcc0020
mov edi, dword [ebp - 0x71]
push edi
mov esi, dword [ebp - 0x75]
push esi
mov eax, dword [ebx + 0x208]
call fcn.0042ec60
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 0x604717
mov eax, ebx
call fcn.00604c38
test al, al
je 0x604717
mov esi, dword [ebx + 0x4e0]
mov eax, dword [esi + 0x27c]
mov eax, dword [eax + 0x44]
mov edi, dword [esi + 0x27c]
add eax, dword [edi + 0x4c]
push eax
lea eax, [ebp - 0x75]
push eax
mov eax, dword [esi + 0x27c]
mov ecx, dword [eax + 0x40]
add ecx, dword [edi + 0x48]
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
call fcn.0041f148
push 0xcc0020
mov edi, dword [ebp - 0x71]
push edi
mov esi, dword [ebp - 0x75]
push esi
mov eax, dword [ebx + 0x208]
call fcn.0042ec60
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 + 0x470]
push edx
mov eax, dword [ebx + 0x46c]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebx + 0x478]
sub ecx, edx
push ecx
mov ecx, dword [ebx + 0x474]
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.0048a000
push eax
call sub.user32.dll_EndPaint
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x604790
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