Function at 0x4928a0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
push ebx
call dword [0x595ec0]
test eax, eax
je 0x492c94
test ebx, ebx
je 0x492916
mov eax, dword [0x52e838]
test eax, eax
je 0x492900
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x492900
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x4928e4
mov dword [0x52e83c], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x492900
mov eax, dword [eax + 0x1f2c]
test eax, eax
je 0x492900
push 0x4e5724
push ebx
call eax
jmp 0x49290b
push 0x4e5724
push ebx
call fcn.004939c0
add esp, 8
test eax, eax
jne 0x492c94
push esi
push 0x2c
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov esi, eax
add esp, 4
mov dword [ebp - 8], esi
test esi, esi
je 0x492937
push 0x2c
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x4929be
push 0
push 0
push 0xb
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esi], ebx
mov dword [esi + 0x28], 1
test ebx, ebx
je 0x492c8c
mov eax, dword [0x52e838]
test eax, eax
je 0x4929b4
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x4929b4
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x492984
mov dword [0x52e83c], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x4929b4
mov eax, dword [eax + 0x1f28]
test eax, eax
je 0x4929b4
push 0x197e
push str.LibMain.c
push esi
push 0x4e5724
push ebx
call eax
add esp, 0x14
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x197e
jmp 0x492c78
cmp eax, 2
je 0x492c8c
push edi
mov dword [esi + 0x28], eax
mov dword [esi], ebx
call dword [sym.imp.USER32.dll_GetFocus]
push ebx
mov dword [esi + 4], eax
call dword [0x595d94]
push eax
call dword [sym.imp.USER32.dll_GetDC]
lea edi, [esi + 0x18]
mov dword [ebp - 4], eax
push edi
xorps xmm0, xmm0
push ebx
movups xmmword [edi], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
push edi
push ebx
call dword [0x595d94]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp dword [esi + 8], 0
je 0x492a3b
push dword [esi + 0xc]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esi + 8]
test eax, eax
je 0x492a3b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esi + 8], 0
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x24]
sub eax, dword [esi + 0x1c]
push eax
mov eax, dword [esi + 0x20]
sub eax, dword [edi]
push eax
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [esi + 0x10]
mov dword [esi + 8], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esi + 0x1c]
mov edx, dword [edi]
push 0xcc0020
push ecx
push edx
push dword [ebp - 4]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x24]
sub eax, ecx
push eax
mov eax, dword [esi + 0x20]
sub eax, edx
push eax
push 0
push 0
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [ebp + 0xc]
cmp eax, 3
jne 0x492bab
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [esi + 0x24]
sub ecx, dword [esi + 0x1c]
push 0xffffff
push 0
push ecx
mov ecx, dword [esi + 0x20]
sub ecx, dword [edi]
push ecx
push 0
mov dword [ebp - 0xc], eax
call fcn.00488d30
mov esi, dword [esi + 0x1c]
add esp, 0x14
mov edi, dword [edi]
mov ebx, eax
push 0x15
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
mov eax, dword [ebp - 8]
push 0xffffff
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
sub ecx, esi
push ecx
sub eax, edi
push eax
push 0
call fcn.00488d30
add esp, 0x14
mov esi, eax
push ebx
mov ebx, dword [ebp - 0xc]
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xee0086
push 0
mov edi, eax
mov eax, dword [ebp - 8]
push 0
push ebx
mov ecx, dword [eax + 0x24]
sub ecx, dword [eax + 0x1c]
push ecx
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x18]
push ecx
push 0
push 0
push dword [eax + 0x10]
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [ebp - 8]
push 0x8800c6
push 0
push 0
mov eax, dword [esi + 0x24]
sub eax, dword [esi + 0x1c]
push ebx
push eax
mov eax, dword [esi + 0x20]
sub eax, dword [esi + 0x18]
push eax
push 0
push 0
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_BitBlt]
push edi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x24]
push 0xcc0020
push 0
push 0
push dword [esi + 0x10]
sub eax, ecx
push eax
mov eax, dword [esi + 0x20]
sub eax, edx
push eax
push ecx
push edx
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_BitBlt]
mov ebx, dword [ebp + 8]
jmp 0x492bf0
cmp eax, 4
jne 0x492bc8
sub esp, 8
xorps xmm0, xmm0
movsd qword [esp], xmm0
push 0
push dword [esi + 8]
call fcn.00498d90
add esp, 0x10
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
mov edx, dword [edi]
sub eax, ecx
push 0xcc0020
push 0
push 0
push dword [esi + 0x10]
push eax
mov eax, dword [esi + 0x20]
sub eax, edx
push eax
push ecx
push edx
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_BitBlt]
push 0x8f
push 0
push 0
push 0
push 0
push 0
push ebx
call dword [0x595d70]
push dword [ebp - 4]
push ebx
call dword [0x595d94]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
test ebx, ebx
je 0x492c8c
mov eax, dword [0x52e838]
test eax, eax
je 0x492c73
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x492c73
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x492c43
mov dword [0x52e83c], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x492c73
mov eax, dword [eax + 0x1f28]
test eax, eax
je 0x492c73
push 0x19b0
push str.LibMain.c
push esi
push 0x4e5724
push ebx
call eax
add esp, 0x14
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x19b0
push str.LibMain.c
push esi
push 0x4e5724
push ebx
call fcn.004a0480
add esp, 0x14
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret