Function at 0x10c04fd0
Capabilities:
Capture screenshot

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3c]
push edi
mov eax, dword [esi + 0x8c8]
test eax, eax
je 0x10c04ff0
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call edi
jmp 0x10c04ff6
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esi + 0x8cc]
test eax, eax
je 0x10c05003
push eax
call edi
mov eax, dword [esi + 0x9f0]
test eax, eax
je 0x10c05010
push eax
call edi
mov eax, dword [esi + 0x9f4]
test eax, eax
je 0x10c0501d
push eax
call edi
mov eax, dword [esi + 0x9f8]
test eax, eax
je 0x10c0502a
push eax
call edi
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [esi + 0x9b0]
mov edx, dword [esi + 0x9ac]
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ebx, eax
push ecx
push edx
push ebx
call edi
mov ecx, dword [esi + 0x9ac]
mov dword [esi + 0x8c8], eax
mov eax, dword [esi + 0x9b0]
push eax
push ecx
push ebx
call edi
mov edx, dword [esi + 0x9fc]
mov dword [esi + 0x8cc], eax
mov eax, dword [esi + 0xa00]
push edx
push eax
push ebx
call edi
mov ecx, dword [esi + 0x9fc]
mov edx, dword [esi + 0xa00]
push ecx
push edx
push ebx
mov dword [esi + 0x9f0], eax
call edi
push ebx
mov dword [esi + 0x9f4], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [esi + 0x9ac]
mov edi, eax
mov eax, dword [esi + 0x9b0]
lea edx, [esp + 0x14]
push eax
push ecx
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esi + 0x8c8]
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push edi
call ebp
push 0x800
lea ecx, [esp + 0x18]
push 4
push ecx
push edi
mov dword [esp + 0x50], eax
call sym.PBVM90.dll_osDrawEdge3D
mov edx, dword [esi + 0x8cc]
push edx
push edi
call ebp
push 0x80f
lea eax, [esp + 0x18]
push 2
push eax
push edi
call sym.PBVM90.dll_osDrawEdge3D
mov ecx, dword [esi + 0x9fc]
mov edx, dword [esi + 0xa00]
push ecx
push edx
push 0
lea eax, [esp + 0x20]
push 0
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov ecx, dword [esi + 0x9f0]
push ecx
push edi
call ebp
push 0x800
lea edx, [esp + 0x18]
push 4
push edx
push edi
call sym.PBVM90.dll_osDrawEdge3D
mov eax, dword [esi + 0x9f4]
push eax
push edi
call ebp
push 0x80f
lea ecx, [esp + 0x18]
push 2
push ecx
push edi
call sym.PBVM90.dll_osDrawEdge3D
mov edx, dword [esp + 0x40]
push edx
push edi
call ebp
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esi + 0xc]
push ebx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x7fe2
push 0
call dword [sym.imp.USER32.dll_LoadBitmapA]
lea ecx, [esp + 0x24]
mov dword [esp + 0x10], eax
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov edx, dword [esi + 0xc]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ebx, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
mov dword [esi + 0x9f8], eax
call ebx
push edi
mov dword [esp + 0x44], eax
call ebx
mov edx, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x40]
push edx
push eax
call ebp
mov ecx, dword [esi + 0x9f8]
push ecx
push ebx
call ebp
mov ebp, dword [sym.imp.USER32.dll_GetSysColor]
push 8
call ebp
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xf
call ebp
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push 0xcc0020
push 0
push 0
push ebp
push edx
push eax
push 0
push 0
push ebx
call dword [sym.imp.GDI32.dll_BitBlt]
push ebp
mov ebp, dword [sym.imp.GDI32.dll_DeleteDC]
call ebp
push ebx
call ebp
mov ecx, dword [esi + 0xc]
push edi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0xa00]
sub eax, ecx
mov edi, dword [esp + 0x2c]
cdq
sub eax, edx
mov dword [esi + 0xa10], ecx
sar eax, 1
mov dword [esi + 0xa08], eax
mov eax, dword [esi + 0x9fc]
mov ecx, dword [esi + 0x8d8]
sub eax, edi
cdq
sub eax, edx
mov dword [esi + 0xa14], edi
sar eax, 1
pop edi
lea edx, [eax + ecx*2]
mov dword [esi + 0xa0c], edx
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret