Function at 0x431bea
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push esi
xor esi, esi
cmp dword [ebp + 8], esi
jne 0x431c17
mov eax, dword [0x50c888]
cmp eax, esi
je 0x431e12
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov dword [0x50c888], esi
jmp 0x431e12
push ebx
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
cmp dword [0x50c888], esi
jne 0x431de5
push dword [0x50a13c]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x431de5
mov eax, dword [0x4a1abc]
cmp eax, 0x1e0
push edi
jl 0x431c56
push 8
call fcn.0042c1fc
mov edi, eax
jmp 0x431c96
cmp eax, 0x180
jl 0x431c61
push 0x20
jmp 0x431c80
cmp eax, 0x120
jl 0x431c6c
push 0x18
jmp 0x431c80
cmp eax, 0xc0
jl 0x431c77
push 0x10
jmp 0x431c80
cmp eax, 0xa8
jl 0x431c83
push 0xe
pop edi
jmp 0x431c96
xor ecx, ecx
cmp eax, 0x90
setge cl
lea ecx, [ecx*4 + 8]
mov edi, ecx
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push esi
mov dword [0x50c884], eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 4], eax
mov eax, dword [0x50c884]
push eax
push eax
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push dword [ebp - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [0x50c884]
mov dword [0x50c880], esi
sub eax, dword [ebp - 0x1c]
mov dword [0x50c87c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 8]
mov dword [0x50c888], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x8000
push edi
push edi
push 1
push 0xbe
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
push 0xcc0020
push dword [0x50c880]
mov dword [ebp - 0xc], eax
push dword [0x50c87c]
mov eax, dword [0x50c884]
push dword [ebp + 0xc]
push eax
push eax
push esi
push esi
push dword [0x50c888]
call ebx
push 1
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 5
push esi
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ecx, dword [0x50c884]
push 3
push esi
sub ecx, edi
push esi
push edi
lea eax, [ecx + 1]
cdq
sub eax, edx
push edi
push dword [ebp - 0xc]
sar eax, 1
push eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push dword [0x50c888]
call dword [sym.imp.USER32.dll_DrawIconEx]
push dword [ebp - 8]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 4]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x50c884]
mov ecx, dword [0x50c87c]
mov edx, dword [0x50c880]
lea edi, [ecx + eax]
mov dword [0x50c778], edi
lea edi, [edx + eax]
mov dword [0x50c77c], edi
mov dword [0x50c770], ecx
mov dword [0x50c774], edx
mov dword [0x50c780], eax
pop edi
jmp 0x431df6
mov edx, dword [0x50c880]
mov ecx, dword [0x50c87c]
mov eax, dword [0x50c884]
push 0xcc0020
push esi
push esi
push dword [0x50c888]
lea esi, [edx + eax]
push esi
add eax, ecx
push eax
push edx
push ecx
push dword [ebp + 0xc]
call ebx
pop ebx
pop esi
leave
ret 8