Function at 0x4354d0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
push ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4358bc
test ebx, ebx
je 0x435546
mov eax, dword [0x4edef8]
test eax, eax
je 0x435530
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x435530
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x435514
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x435530
mov eax, dword [eax + 0x1f2c]
test eax, eax
je 0x435530
push 0x4a1a18
push ebx
call eax
jmp 0x43553b
push 0x4a1a18
push ebx
call fcn.004364d0
add esp, 8
test eax, eax
jne 0x4358bc
push edi
push 0x2c
call fcn.00486927
mov edi, eax
add esp, 4
mov dword [ebp - 8], edi
test edi, edi
je 0x435567
push 0x2c
push 0
push edi
call fcn.004811a0
add esp, 0xc
push esi
mov esi, dword [ebp + 0xc]
cmp esi, 1
jne 0x4355ec
push 0
push 0
push 0xb
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi], ebx
mov dword [edi + 0x28], esi
test ebx, ebx
je 0x4358b3
mov eax, dword [0x4edef8]
test eax, eax
je 0x4355e2
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x4355e2
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x4355b1
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x4355e2
mov eax, dword [eax + 0x1f28]
test eax, eax
je 0x4355e2
push 0x19bf
push str.D:MyProjectsProPilotLibLibMain.c
push edi
push 0x4a1a18
push ebx
call eax
add esp, 0x14
mov eax, edi
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x19bf
jmp 0x43589f
cmp esi, 2
je 0x4358b3
mov dword [edi + 0x28], esi
mov dword [edi], ebx
call dword [sym.imp.USER32.dll_GetFocus]
push ebx
mov dword [edi + 4], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 4], eax
xorps xmm0, xmm0
lea eax, [edi + 0x18]
push eax
push ebx
movups xmmword [eax], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [edi + 0x18]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp dword [edi + 8], 0
je 0x43566b
push dword [edi + 0xc]
push dword [edi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [edi + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [edi + 8]
test eax, eax
je 0x43566b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [edi + 8], 0
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
push eax
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x18]
push eax
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [edi + 0x10]
mov dword [edi + 8], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
push 0xcc0020
push ecx
push edx
push dword [ebp - 4]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x24]
sub eax, ecx
push eax
mov eax, dword [edi + 0x20]
sub eax, edx
push eax
push 0
push 0
push dword [edi + 0x10]
call dword [sym.imp.GDI32.dll_BitBlt]
cmp esi, 3
jne 0x4357d1
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [edi + 0x24]
mov ebx, eax
sub ecx, dword [edi + 0x1c]
push 0xffffff
push 0
push ecx
mov ecx, dword [edi + 0x20]
sub ecx, dword [edi + 0x18]
push ecx
push 0
call fcn.0042ab00
add esp, 0x14
mov esi, eax
push 0x15
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [edi + 0x24]
sub ecx, dword [edi + 0x1c]
push eax
push 0xffffff
push ecx
mov ecx, dword [edi + 0x20]
sub ecx, dword [edi + 0x18]
push ecx
push 0
call fcn.0042ab00
add esp, 0x14
mov edi, eax
push esi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xee0086
push 0
mov esi, 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 edi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [ebp - 8]
push 0x8800c6
push 0
push 0
mov eax, dword [edi + 0x24]
sub eax, dword [edi + 0x1c]
push ebx
push eax
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x18]
push eax
push 0
push 0
push dword [edi + 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]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
push 0xcc0020
push 0
push 0
push dword [edi + 0x10]
mov eax, dword [edi + 0x24]
sub eax, ecx
push eax
mov eax, dword [edi + 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 0x435817
cmp esi, 4
jne 0x435817
sub esp, 8
xorps xmm0, xmm0
movsd qword [esp], xmm0
push 0
push dword [edi + 8]
call fcn.0043a8b0
mov ecx, dword [edi + 0x1c]
add esp, 0x10
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x18]
sub eax, ecx
push 0xcc0020
push 0
push 0
push dword [edi + 0x10]
push eax
mov eax, dword [edi + 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 [sym.imp.USER32.dll_SetWindowPos]
push dword [ebp - 4]
push ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
test ebx, ebx
je 0x4358b3
mov eax, dword [0x4edef8]
test eax, eax
je 0x43589a
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x43589a
mov edx, dword [eax + 0x1f0c]
test edx, edx
je 0x435869
mov dword [0x4edefc], edx
mov ecx, dword [eax + 4]
test ecx, 0x40000000
je 0x43589a
mov eax, dword [eax + 0x1f28]
test eax, eax
je 0x43589a
push 0x19ef
push str.D:MyProjectsProPilotLibLibMain.c
push edi
push 0x4a1a18
push ebx
call eax
add esp, 0x14
mov eax, edi
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x19ef
push str.D:MyProjectsProPilotLibLibMain.c
push edi
push 0x4a1a18
push ebx
call fcn.00441d20
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret