Function at 0x419c50
Capabilities:
Capture screenshot

Disassembly:
mov eax, dword [0x5900b4]
sub esp, 0x50
push ebx
push esi
xor ebx, ebx
cmp eax, ebx
push edi
mov edi, edx
mov esi, ecx
je 0x419c6e
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x50
ret
push ebp
push ebx
lea edx, [esp + 0x3c]
mov ecx, esi
mov dword [0x5900b4], 1
call fcn.00538310
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x18], ebp
je 0x41a271
cmp dword [ebp + 0x960], ebx
je 0x41a271
cmp edi, ebx
jne 0x419d14
mov eax, dword [ebp + 0x944]
cmp eax, dword [esp + 0x40]
jne 0x419cbb
mov ecx, dword [ebp + 0x948]
cmp ecx, dword [esp + 0x44]
je 0x419d01
mov edx, dword [0x5a1b04]
push edx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x419d14
cmp esi, edi
jne 0x419d01
mov eax, dword [ebp + 0x944]
cmp eax, dword [esp + 0x40]
jl 0x419d14
mov ecx, dword [ebp + 0x948]
cmp ecx, dword [esp + 0x44]
jl 0x419d14
mov eax, dword [ebp + 0x954]
cmp eax, 2
je 0x419d01
cmp eax, 4
jne 0x419d14
pop ebp
pop edi
pop esi
mov dword [0x5900b4], ebx
mov eax, 1
pop ebx
add esp, 0x50
ret
mov edx, dword [0x5a1b00]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x24], edi
je 0x41a271
mov ebx, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
call ebx
mov esi, eax
test esi, esi
push edi
jne 0x419d5f
mov eax, dword [0x5a1b00]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
pop ebp
pop edi
pop esi
mov dword [0x5900b4], 0
xor eax, eax
pop ebx
add esp, 0x50
ret
call ebx
mov ebx, eax
test ebx, ebx
jne 0x419d78
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [0x5a1b00]
push edi
push ecx
jmp 0x419d45
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x419da7
push ebx
mov ebx, dword [sym.imp.GDI32.dll_DeleteDC]
call ebx
push esi
call ebx
mov ecx, dword [0x5a1b00]
push edi
push ecx
jmp 0x419d45
mov eax, dword [ebp + 0x960]
lea edx, [esp + 0x48]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov ecx, dword [esp + 0x14]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push ecx
push esi
call edi
mov edx, dword [ebp + 0x960]
push edx
push ebx
mov dword [esp + 0x28], eax
call edi
mov dword [esp + 0x1c], eax
mov eax, dword [0x5900b0]
test eax, eax
je 0x419dff
cmp ebp, eax
jne 0x419dff
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 0x419e1e
mov ecx, dword [0x594088]
call fcn.00431e50
mov eax, dword [eax*4 + 0x593350]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x10], eax
mov edi, eax
mov eax, dword [ebp + 0x954]
cmp eax, 5
ja case.0x419e2d.2
jmp dword [eax*4 + 0x41a284]
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 0x41a1d4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
mov edx, dword [esp + 0x4c]
mov ecx, esi
call fcn.00419bd0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
push 0xcc0020
push eax
mov eax, dword [esp + 0x48]
push ecx
push 0
push 0
push ebx
push edx
push eax
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
jmp 0x41a1db
push edi
lea ecx, [esp + 0x3c]
push ecx
push esi
call dword [sym.imp.USER32.dll_FillRect]
fild dword [esp + 0x4c]
fild dword [esp + 0x50]
fcom qword [0x575498]
fst qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x419ef2
fld qword [0x575220]
jmp 0x419f0b
fld st(1)
fdiv st(1)
fcom qword [0x5754b8]
fnstsw ax
test ah, 5
jp 0x419f0b
fstp st(0)
fld qword [0x5754b8]
fild dword [esp + 0x40]
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x419f50
fild dword [esp + 0x44]
mov edi, edi
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x419f44
fld st(2)
faddp st(5)
fxch st(3)
fadd qword [0x575220]
fxch st(3)
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 5
jnp 0x419f20
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 0x419f6a
fild dword [esp + 0x44]
fld st(3)
fcompp
fnstsw ax
test ah, 0x41
jne 0x419f7c
fxch st(3)
fsub st(1)
fxch st(3)
fxch st(2)
fsub qword [0x575220]
fxch st(2)
jmp 0x419f50
fstp st(0)
fstp st(0)
fstp qword [esp + 0x28]
call fcn.00563394
fld qword [esp + 0x28]
mov edi, eax
call fcn.00563394
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 + 0x50]
sar eax, 1
push edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
push eax
mov dword [esp + 0x3c], ecx
push ecx
mov edx, edi
mov ecx, esi
call fcn.00419bd0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
push 0xcc0020
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x34]
push 0
push 0
push ebx
push eax
push edi
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edi, dword [esp + 0x10]
jmp 0x41a1db
mov eax, dword [esp + 0x4c]
xor ebp, ebp
jmp 0x41a010
xor edi, edi
mov ecx, dword [esp + 0x50]
push 0xcc0020
push 0
push 0
push ebx
push ecx
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 0x41a012
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
add ebp, edx
cmp ebp, ecx
jl 0x41a010
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
jmp 0x41a1db
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 [0x575498]
fst qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jp 0x41a082
fld qword [0x575220]
jmp 0x41a09b
fld st(1)
fdiv st(1)
fcom qword [0x5754b8]
fnstsw ax
test ah, 5
jp 0x41a09b
fstp st(0)
fld qword [0x5754b8]
fld qword [0x5754b0]
fmul st(1)
call fcn.00563394
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x41a0ca
fld st(2)
fcomp qword [0x5754b0]
fnstsw ax
test ah, 0x41
jne 0x41a131
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x41a105
fld st(2)
fcomp qword [0x5754b0]
fnstsw ax
test ah, 5
jp 0x41a0fd
fld st(1)
faddp st(4)
fxch st(2)
fadd qword [0x575220]
fxch st(2)
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x41a0d5
fxch st(2)
fst qword [esp + 0x28]
fxch st(2)
fld st(3)
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x41a11f
fld st(2)
fcomp qword [0x5754b0]
fnstsw ax
test ah, 0x41
jne 0x41a139
fxch st(3)
fsub st(1)
fxch st(3)
fxch st(2)
fsub qword [0x575220]
fxch st(2)
jmp 0x41a105
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41a141
fstp st(0)
fstp st(0)
fstp qword [esp + 0x28]
call fcn.00563394
fld qword [esp + 0x28]
mov edi, eax
call fcn.00563394
mov ecx, dword [esp + 0x40]
cmp edi, ecx
mov dword [esp + 0x34], eax
jge 0x41a165
sub ecx, edi
mov dword [esp + 0x28], ecx
jmp 0x41a16d
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push eax
mov edx, edi
mov ecx, esi
call fcn.00419bd0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
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 0x41a1db
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 + 0x940]
xor edi, edi
cmp eax, edi
je 0x41a20b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x940], eax
mov eax, dword [ebp + 0x964]
cmp eax, edi
je 0x41a226
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp + 0x964], edi
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0x944], ecx
mov edx, dword [esp + 0x44]
push ebx
mov ebx, dword [sym.imp.GDI32.dll_DeleteDC]
mov dword [ebp + 0x948], edx
call ebx
push esi
call ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [0x5a1b00]
push eax
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop ebp
mov dword [0x5900b4], edi
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x50
ret
pop ebp
pop edi
pop esi
mov dword [0x5900b4], ebx
xor eax, eax
pop ebx
add esp, 0x50
ret