Function at 0x41e9f0
Capabilities:
Capture screenshot

Disassembly:
mov eax, dword [0x60f448]
sub esp, 0x50
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
je 0x41ea08
pop esi
xor eax, eax
pop ebx
add esp, 0x50
ret
push ebp
push edi
mov edi, dword [esp + 0x64]
push ebx
lea eax, [esp + 0x3c]
push eax
push edi
mov dword [0x60f448], 1
call fcn.00584d10
mov ebp, eax
add esp, 0xc
cmp ebp, ebx
mov dword [esp + 0x18], ebp
je 0x41f032
cmp dword [ebp + 0x97c], ebx
je 0x41f032
cmp dword [esp + 0x68], ebx
jne 0x41eacc
mov ecx, dword [ebp + 0x960]
cmp ecx, dword [esp + 0x40]
jne 0x41ea63
mov edx, dword [ebp + 0x964]
cmp edx, dword [esp + 0x44]
je 0x41eab9
mov eax, dword [ebp]
push eax
call fcn.00582c10
add esp, 4
test eax, eax
je 0x41eacc
mov ecx, dword [0x645328]
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x41eacc
cmp edi, esi
jne 0x41eab9
mov edx, dword [ebp + 0x960]
cmp edx, dword [esp + 0x40]
jl 0x41eacc
mov eax, dword [ebp + 0x964]
cmp eax, dword [esp + 0x44]
jl 0x41eacc
mov eax, dword [ebp + 0x970]
cmp eax, 2
je 0x41eab9
cmp eax, 4
jne 0x41eacc
pop edi
pop ebp
pop esi
mov dword [0x60f448], ebx
mov eax, 1
pop ebx
add esp, 0x50
ret
mov ecx, dword [0x645324]
push ecx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x24], edi
je 0x41f032
mov ebx, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
call ebx
mov esi, eax
test esi, esi
push edi
jne 0x41eb18
mov edx, dword [0x645324]
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop ebp
pop esi
mov dword [0x60f448], 0
xor eax, eax
pop ebx
add esp, 0x50
ret
call ebx
mov ebx, eax
test ebx, ebx
jne 0x41eb30
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x645324]
push edi
push eax
jmp 0x41eafe
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x41eb5e
push ebx
mov ebx, dword [sym.imp.GDI32.dll_DeleteDC]
call ebx
push esi
call ebx
mov eax, dword [0x645324]
push edi
push eax
jmp 0x41eafe
mov edx, dword [ebp + 0x97c]
lea ecx, [esp + 0x48]
push ecx
push 0x18
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x14]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov ecx, dword [ebp + 0x97c]
push ecx
push ebx
mov dword [esp + 0x28], eax
call edi
mov dword [esp + 0x1c], eax
mov eax, dword [0x60f444]
test eax, eax
je 0x41ebb6
cmp ebp, eax
jne 0x41ebb6
push 0xc
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, eax
mov dword [esp + 0x10], edi
jmp 0x41ebd9
mov edx, dword [0x613690]
push edx
call fcn.0043bf80
mov eax, dword [eax*4 + 0x612870]
add esp, 4
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x10], eax
mov edi, eax
mov eax, dword [ebp + 0x970]
cmp eax, 5
ja case.0x41ebe8.2
jmp dword [eax*4 + 0x41f044]
push edi
lea ecx, [esp + 0x3c]
push ecx
push esi
call dword [sym.imp.USER32.dll_FillRect]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
sub eax, edx
cdq
sub eax, edx
mov edx, dword [esp + 0x50]
mov ecx, eax
mov eax, dword [esp + 0x44]
push 0xcc0020
sub eax, edx
push 0
cdq
push 0
sub eax, edx
mov edx, dword [esp + 0x5c]
push ebx
push edx
mov edx, dword [esp + 0x60]
sar ecx, 1
push edx
sar eax, 1
push eax
push ecx
jmp 0x41ef95
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
push esi
call fcn.0041e960
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
add esp, 0x14
push 0xcc0020
push ecx
mov ecx, dword [esp + 0x48]
push edx
push 0
push 0
push ebx
push eax
push ecx
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
jmp 0x41ef9c
push edi
lea edx, [esp + 0x3c]
push edx
push esi
call dword [sym.imp.USER32.dll_FillRect]
fild dword [esp + 0x4c]
fild dword [esp + 0x50]
fcom qword [0x5e76a0]
fst qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x41ecb0
fld qword [0x5e73e0]
jmp 0x41ecc9
fld st(1)
fdiv st(1)
fcom qword [0x5e76c0]
fnstsw ax
test ah, 5
jp 0x41ecc9
fstp st(0)
fld qword [0x5e76c0]
fild dword [esp + 0x40]
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41ed10
fild dword [esp + 0x44]
lea esp, [esp]
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41ed04
fld st(2)
faddp st(5)
fxch st(3)
fadd qword [0x5e73e0]
fxch st(3)
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 5
jnp 0x41ece0
fxch st(3)
fst qword [esp + 0x28]
fstp st(3)
lea esp, [esp]
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x41ed2a
fild dword [esp + 0x44]
fld st(3)
fcompp
fnstsw ax
test ah, 0x41
jne 0x41ed3c
fxch st(3)
fsub st(1)
fxch st(3)
fxch st(2)
fsub qword [0x5e73e0]
fxch st(2)
jmp 0x41ed10
fstp st(0)
fstp st(0)
fstp qword [esp + 0x28]
call fcn.005cbd54
fld qword [esp + 0x28]
mov edi, eax
call fcn.005cbd54
mov ecx, eax
mov eax, dword [esp + 0x40]
sub eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x4c]
sar eax, 1
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
push eax
push edx
push ecx
push edi
push esi
mov dword [esp + 0x48], ecx
call fcn.0041e960
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
add esp, 0x14
push 0xcc0020
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x34]
push 0
push 0
push ebx
push edx
push edi
push eax
push ecx
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edi, dword [esp + 0x10]
jmp 0x41ef9c
mov eax, dword [esp + 0x4c]
xor ebp, ebp
jmp 0x41edd0
xor edi, edi
mov edx, dword [esp + 0x50]
push 0xcc0020
push 0
push 0
push ebx
push edx
push eax
push ebp
push edi
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
add edi, eax
cmp edi, ecx
jl 0x41edd2
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
add ebp, edx
cmp ebp, ecx
jl 0x41edd0
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
jmp 0x41ef9c
push edi
lea eax, [esp + 0x3c]
push eax
push esi
call dword [sym.imp.USER32.dll_FillRect]
fild dword [esp + 0x4c]
fild dword [esp + 0x50]
fcom qword [0x5e76a0]
fst qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x41ee42
fld qword [0x5e73e0]
jmp 0x41ee5b
fld st(1)
fdiv st(1)
fcom qword [0x5e76c0]
fnstsw ax
test ah, 5
jp 0x41ee5b
fstp st(0)
fld qword [0x5e76c0]
fld qword [0x5e76b8]
fmul st(1)
call fcn.005cbd54
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x41ee8a
fld st(2)
fcomp qword [0x5e76b8]
fnstsw ax
test ah, 0x41
jne 0x41eef1
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41eec5
fld st(2)
fcomp qword [0x5e76b8]
fnstsw ax
test ah, 5
jp 0x41eebd
fld st(1)
faddp st(4)
fxch st(2)
fadd qword [0x5e73e0]
fxch st(2)
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x41ee95
fxch st(2)
fst qword [esp + 0x28]
fxch st(2)
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x41eedf
fld st(2)
fcomp qword [0x5e76b8]
fnstsw ax
test ah, 0x41
jne 0x41eef9
fxch st(3)
fsub st(1)
fxch st(3)
fxch st(2)
fsub qword [0x5e73e0]
fxch st(2)
jmp 0x41eec5
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41ef01
fstp st(0)
fstp st(0)
fstp qword [esp + 0x28]
call fcn.005cbd54
fld qword [esp + 0x28]
mov edi, eax
call fcn.005cbd54
mov ecx, dword [esp + 0x40]
cmp edi, ecx
mov dword [esp + 0x34], eax
jge 0x41ef25
sub ecx, edi
mov dword [esp + 0x28], ecx
jmp 0x41ef2d
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push eax
push edi
push esi
call fcn.0041e960
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
add esp, 0x14
push 0xcc0020
push eax
mov eax, dword [esp + 0x30]
push ecx
push 0
push 0
push ebx
push edx
push edi
push 0
push eax
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edi, dword [esp + 0x10]
jmp 0x41ef9c
push edi
lea ecx, [esp + 0x3c]
push ecx
push esi
call dword [sym.imp.USER32.dll_FillRect]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push 0xcc0020
push 0
push 0
push ebx
push edx
push eax
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0x1c]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push ecx
push ebx
call edi
mov edx, dword [esp + 0x20]
push edx
push esi
call edi
mov eax, dword [ebp + 0x95c]
xor edi, edi
cmp eax, edi
je 0x41efcc
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x95c], eax
mov eax, dword [ebp + 0x980]
cmp eax, edi
je 0x41efe7
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp + 0x980], edi
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0x960], ecx
mov edx, dword [esp + 0x44]
push ebx
mov ebx, dword [sym.imp.GDI32.dll_DeleteDC]
mov dword [ebp + 0x964], edx
call ebx
push esi
call ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [0x645324]
push eax
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [0x60f448], edi
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
add esp, 0x50
ret
pop edi
pop ebp
pop esi
mov dword [0x60f448], ebx
xor eax, eax
pop ebx
add esp, 0x50
ret