Function at 0x419390
Capabilities:
Check os version

Disassembly:
sub esp, 8
push ebx
push ebp
push edi
push 0x11c
push 0
push esi
call fcn.0045a220
mov ebp, dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
add esp, 0xc
push 1
mov ebx, 2
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
mov edi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 5
mov dword [esi + 8], 0
call edi
cmp eax, 1
jne 0x41949d
mov ecx, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push 0x20
push eax
push ecx
call ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov word [esi + 0x114], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push edx
push eax
push 0x23
push esi
call edi
cmp eax, 1
je 0x419449
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x419417
mov eax, 1
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push 1
push 0x40
push ecx
push edx
call ebp
push edx
mov ebp, eax
push ebp
push 0x63
push esi
mov dword [esp + 0x20], edx
mov word [esi + 0x118], 0x80
call edi
cmp eax, 1
je 0x419494
mov eax, dword [esp + 0x10]
push eax
push ebp
push 0x63
push esi
mov word [esi + 0x118], bx
call edi
cmp eax, 1
je 0x419494
mov word [esi + 0x118], 0
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 1
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 5
mov dword [esi + 8], 1
call edi
cmp eax, 1
jne 0x419563
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push eax
push 0x20
push ecx
push edx
call ebp
mov ebx, eax
mov dword [esp + 0x10], edx
mov word [esi + 0x114], 0
mov eax, dword [esp + 0x10]
push eax
push ebx
push 0x23
push esi
call edi
cmp eax, 1
je 0x419535
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x419507
mov eax, 1
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x10]
push 1
push 0x40
push ecx
push ebx
call ebp
push edx
push eax
push 0x63
push esi
mov word [esi + 0x118], 0x200
call edi
cmp eax, 1
jne 0x41948b
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 1
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 5
mov dword [esi + 8], ebx
call edi
cmp eax, 1
jne 0x419723
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x10]
push 0x80
push edx
push eax
call ebp
push edx
mov ebx, eax
push ebx
push 0x83
push esi
mov dword [esp + 0x20], edx
mov byte [esi + 0x11a], 1
call edi
cmp eax, 1
push 1
push 0x20
jne 0x419624
mov ecx, dword [esp + 0x18]
push ecx
push ebx
call ebp
mov ebx, eax
mov ebp, edx
mov word [esi + 0x114], 0
push ebp
push ebx
push 0xa3
push esi
call edi
cmp eax, 1
je 0x419494
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x4195f6
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov edx, dword [esp + 0x18]
push edx
push ebx
mov byte [esi + 0x11a], 3
call ebp
mov ebx, eax
mov dword [esp + 0x10], edx
mov word [esi + 0x114], 0
mov eax, dword [esp + 0x10]
push eax
push ebx
push 0xa3
push esi
call edi
cmp eax, 1
je 0x419673
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x419642
mov eax, 1
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x10]
push 1
push 0x40
push ecx
push ebx
call ebp
mov ebx, edx
push ebx
mov ebp, eax
push ebp
push 0xe3
push esi
mov word [esi + 0x118], 0
call edi
cmp eax, 1
jne 0x4196b3
push 0x59
mov byte [esi + 0x11a], 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
push ebx
push ebp
push 0xe3
push esi
mov word [esi + 0x118], 2
call edi
cmp eax, 1
je 0x419494
push ebx
push ebp
push 0xe3
push esi
mov word [esi + 0x118], 0x80
call edi
cmp eax, 1
je 0x419494
push ebx
push ebp
push 0xe3
push esi
mov word [esi + 0x118], 0x400
call edi
cmp eax, 1
je 0x419494
push ebx
push ebp
push 0xe3
push esi
mov word [esi + 0x118], 0x800
call edi
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 1
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 6
mov dword [esi + 8], 0
call edi
cmp eax, 1
jne 0x4198ca
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x10]
push 0x20
push edx
push eax
call ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov ebx, 0x23
mov word [esi + 0x114], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push ecx
push edx
push ebx
push esi
call edi
cmp eax, 1
jne 0x4197f7
mov ecx, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push 0x80
push eax
push ecx
call ebp
push edx
push eax
or ebx, 0x80
push ebx
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov byte [esi + 0x11a], 1
call edi
cmp eax, 1
je 0x419814
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push edx
push eax
push ebx
push esi
mov byte [esi + 0x11a], 3
call edi
cmp eax, 1
je 0x419861
mov eax, 1
add word [esi + 0x114], ax
cmp word [esi + 0x114], 0xa
jb 0x419798
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push 1
push 0x40
push ecx
push edx
call ebp
push edx
mov ebp, eax
push ebp
or ebx, 0x40
push ebx
push esi
mov dword [esp + 0x20], edx
mov word [esi + 0x118], 0
call edi
cmp eax, 1
je 0x419494
mov eax, dword [esp + 0x10]
push eax
push ebp
push ebx
push esi
mov word [esi + 0x118], 0x200
call edi
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push 1
push 0x40
push ecx
push edx
call ebp
push edx
mov ebp, eax
push ebp
or ebx, 0x40
push ebx
push esi
mov dword [esp + 0x20], edx
mov word [esi + 0x118], 0
call edi
cmp eax, 1
je 0x419494
mov eax, dword [esp + 0x10]
push eax
push ebp
push ebx
push esi
mov word [esi + 0x118], 2
call edi
cmp eax, 1
je 0x419494
mov ecx, dword [esp + 0x10]
push ecx
push ebp
push ebx
push esi
mov word [esi + 0x118], 0x80
call edi
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 1
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 6
mov dword [esi + 8], 1
call edi
cmp eax, 1
jne 0x4199ad
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x10]
push 0x20
push edx
push eax
call ebp
mov ebx, eax
mov dword [esp + 0x10], edx
mov word [esi + 0x114], 0
mov ecx, dword [esp + 0x10]
push ecx
push ebx
push 0x23
push esi
call edi
cmp eax, 1
je 0x419966
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x419938
mov eax, 1
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov edx, dword [esp + 0x10]
push 1
push 0x80
push edx
push ebx
call ebp
mov ebp, edx
push ebp
mov ebx, eax
push ebx
push 0xa3
push esi
mov byte [esi + 0x11a], 1
call edi
cmp eax, 1
je 0x419494
push ebp
push ebx
push 0xa3
push esi
mov byte [esi + 0x11a], 3
call edi
xor eax, eax
pop edi
pop ebp
pop ebx
add esp, 8
ret
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 1
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 6
mov dword [esi + 8], ebx
call edi
cmp eax, 1
jne 0x419a52
mov ecx, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push 0x20
push eax
push ecx
call ebp
mov ebx, eax
mov dword [esp + 0x10], edx
mov word [esi + 0x114], 0
mov edx, dword [esp + 0x10]
push edx
push ebx
push 0x23
push esi
call edi
cmp eax, 1
je 0x419a41
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x419a13
mov eax, 1
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x10]
push 1
push 0x80
push eax
jmp 0x419972
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 1
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 1
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esi + 4], 6
mov dword [esi + 8], 3
call edi
cmp eax, 1
jne 0x419afb
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push eax
push 0x20
push ecx
push edx
call ebp
mov ebx, eax
mov dword [esp + 0x10], edx
mov word [esi + 0x114], 0
mov eax, dword [esp + 0x10]
push eax
push ebx
push 0x23
push esi
call edi
cmp eax, 1
je 0x419aea
add word [esi + 0x114], 1
cmp word [esi + 0x114], 0xa
jb 0x419abc
mov eax, 1
pop edi
pop ebp
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x10]
push 1
push 0x80
push ecx
jmp 0x419972
push 0x11c
push 0
push esi
call fcn.0045a220
add esp, 0xc
push 3
push ebx
push 0
push 0
mov dword [esi], 0x11c
mov dword [esi + 0x10], ebx
call ebp
push 3
push 1
push edx
push eax
call ebp
push edx
push eax
push 3
push esi
call edi
sub eax, 1
neg eax
pop edi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 8
ret