Function at 0x4340de
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push esi
xor esi, esi
cmp dword [ebp + 8], esi
jne 0x43410b
mov eax, dword [0x512d60]
cmp eax, esi
je 0x434324
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov dword [0x512d60], esi
jmp 0x434324
cmp dword [0x512d60], esi
jne 0x4342f4
push dword [0x51069c]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4342f4
mov eax, dword [0x4a7adc]
cmp eax, 0x1e0
push ebx
push edi
jl 0x434144
push 8
call fcn.0042dae4
mov ebx, eax
jmp 0x434182
cmp eax, 0x180
jl 0x43414f
push 0x20
jmp 0x43416e
cmp eax, 0x120
jl 0x43415a
push 0x18
jmp 0x43416e
cmp eax, 0xc0
jl 0x434165
push 0x10
jmp 0x43416e
cmp eax, 0xa8
jl 0x434171
push 0xe
pop ebx
jmp 0x434182
xor ebx, ebx
cmp eax, 0x90
setge bl
lea ebx, [ebx*4 + 8]
lea eax, [ebp - 0x3c]
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 [0x512d5c], eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 4], eax
mov eax, dword [0x512d5c]
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 [0x512d5c]
mov dword [0x512d58], esi
sub eax, dword [ebp - 0x1c]
mov dword [0x512d54], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 8]
mov dword [0x512d60], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x8000
push ebx
push ebx
push 1
push 0xbe
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [ebp - 0xc], eax
mov eax, dword [0x512d5c]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
cmp dword [0x510680], esi
je 0x434232
mov eax, dword [0x4a7af8]
jmp 0x43423a
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, eax
push edi
lea eax, [ebp - 0x2c]
push eax
push dword [0x512d60]
call dword [sym.imp.USER32.dll_FillRect]
push edi
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
call edi
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 [0x512d5c]
push 3
push esi
push esi
sub ecx, ebx
push ebx
lea eax, [ecx + 1]
cdq
push ebx
push dword [ebp - 0xc]
sub eax, edx
sar eax, 1
push eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push dword [0x512d60]
call dword [sym.imp.USER32.dll_DrawIconEx]
push dword [ebp - 8]
call edi
push dword [ebp - 4]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x512d5c]
mov ecx, dword [0x512d54]
mov edx, dword [0x512d58]
lea edi, [ecx + eax]
mov dword [0x512c50], edi
lea edi, [edx + eax]
mov dword [0x512c54], edi
pop edi
mov dword [0x512c48], ecx
mov dword [0x512c4c], edx
mov dword [0x512c58], eax
pop ebx
jmp 0x434305
mov edx, dword [0x512d58]
mov ecx, dword [0x512d54]
mov eax, dword [0x512d5c]
push 0xcc0020
push esi
push esi
push dword [0x512d60]
lea esi, [edx + eax]
push esi
add eax, ecx
push eax
push edx
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_BitBlt]
pop esi
leave
ret 8