Function at 0x425ce0
Capabilities:
Capture screenshot

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43d2b8
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
cmp dword [esi + 4], ebp
je 0x425fc2
cmp dword [esi + 0x68], ebp
je 0x425fc2
cmp dword [esi + 0x70], ebp
je 0x425fc2
lea eax, [esp + 0x4c]
push eax
call fcn.00426d50
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
sub ecx, edx
test ecx, ecx
jle 0x425fc2
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
sub edx, ecx
test edx, edx
jle 0x425fc2
mov edi, dword [esp + 0x6c]
cmp edi, ebp
jne 0x425d66
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
push eax
call sub.MFC42.DLL_CDC::FromHandle
mov edi, eax
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CDC::CDC
mov dword [esp + 0x64], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], 0x43fb94
mov ebx, 1
cmp edi, ebp
mov byte [esp + 0x64], bl
jne 0x425d90
xor eax, eax
jmp 0x425d93
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CDC::Attach
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x48]
sub eax, ecx
mov ecx, dword [esi + 0x50]
push eax
sub ecx, edx
push ecx
mov ecx, dword [edi + 4]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CGdiObject::Attach
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x14]
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [esp + 0x20]
push eax
push edx
call sub.MFC42.DLL_CDC::SelectGdiObject
push ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CDC::SetBkMode
mov eax, dword [esi + 0x58]
lea ecx, [esp + 0x4c]
push eax
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CDC::FillSolidRect
lea edx, [esp + 0x2c]
push ebp
push edx
mov ecx, esi
call fcn.00426f10
mov eax, dword [esi + 0x58]
lea ecx, [esp + 0x2c]
push eax
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CDC::FillSolidRect
cmp dword [esi + 0x28], ebx
jne 0x425e55
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.00426830
jmp 0x425e81
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, esi
mov dword [eax + 0xc], edx
lea eax, [esp + 0x2c]
push eax
call fcn.004265f0
lea ecx, [esp + 0x3c]
push ebx
push ecx
mov ecx, esi
call fcn.00426f10
mov edx, dword [esi + 0x58]
lea eax, [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CDC::FillSolidRect
cmp dword [esi + 0x28], ebx
jne 0x425ed3
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x54]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x58]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.00426940
jmp 0x425eff
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.00426710
cmp dword [esi + 0x34], ebx
jne 0x425f12
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.00426370
jmp 0x425f1e
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.00425fe0
mov ecx, dword [esi + 0x54]
mov ebp, dword [esi + 0x4c]
mov edx, dword [esi + 0x50]
mov ebx, dword [esi + 0x48]
lea eax, [esp + 0x1c]
sub ecx, ebp
sub edx, ebx
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, dword [esp + 0x28]
push 0
mov ebx, ebp
mov ebp, dword [esi + 0x48]
push eax
push ecx
push edx
mov edx, dword [edi + 4]
push ebx
push ebp
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x425f62
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x24]
push eax
call sub.MFC42.DLL_CDC::SelectGdiObject
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CGdiObject::DeleteObject
test edi, edi
je 0x425f93
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x425f93
mov esi, dword [esi + 4]
mov ecx, dword [edi + 4]
push ecx
mov edx, dword [esi + 0x20]
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [esp + 0x14], 0x43fc94
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 2
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], 0x43fc80
mov dword [esp + 0x64], 0xffffffff
call fcn.0043a526
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret 4