Function at 0x42d322
Capabilities:
Check os version

Disassembly:
push 0x464
mov eax, 0x4cb03c
call fcn.00496d1f
lea eax, [ebp - 0x35c]
mov dword [ebp - 0x35c], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [0x521e1c], eax
cmp dword [ebp - 0x34c], 2
mov dword [0x521e28], eax
mov dword [0x521e20], eax
mov dword [0x521e24], eax
mov dword [0x521e2c], eax
mov dword [0x521e30], eax
mov dword [0x521e38], eax
mov dword [0x521e58], eax
mov dword [0x521e44], eax
mov dword [0x521e40], eax
mov dword [0x521e48], eax
mov dword [0x521e4c], eax
mov dword [0x521e50], eax
mov dword [0x521e54], eax
mov dword [0x521e3c], eax
jne 0x42d502
cmp dword [ebp - 0x358], 5
jne 0x42d3dd
mov eax, dword [ebp - 0x354]
test eax, eax
jne 0x42d3c3
mov dword [0x521e28], ebx
jmp 0x42d510
cmp eax, ebx
jne 0x42d3d2
mov dword [0x521e20], ebx
jmp 0x42d510
cmp eax, 2
jne 0x42d510
jmp 0x42d3c7
cmp dword [ebp - 0x358], 6
jne 0x42d4da
mov ecx, dword [ebp - 0x354]
cmp ecx, 4
ja 0x42d510
mov eax, dword [0x521e2c]
cmp ecx, ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmove eax, ebx
mov dword [0x521e58], ebx
mov dword [0x521e20], ebx
mov dword [0x521e24], ebx
mov dword [0x521e2c], eax
cmp ecx, 2
jne 0x42d46b
push str.RtlGetVersion
push str.ntdll.dll
mov dword [0x521e2c], ebx
mov dword [0x521e30], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call esi
test eax, eax
je 0x42d465
lea ecx, [ebp - 0x470]
push ecx
call eax
mov eax, dword [0x521e34]
cmp dword [ebp - 0x468], 3
cmove eax, ebx
mov dword [0x521e34], eax
mov ecx, dword [ebp - 0x354]
cmp ecx, 3
jne 0x42d482
mov dword [0x521e2c], ebx
mov dword [0x521e30], ebx
mov dword [0x521e34], ebx
cmp ecx, 4
jne 0x42d49f
mov dword [0x521e2c], ebx
mov dword [0x521e30], ebx
mov dword [0x521e34], ebx
mov dword [0x521e38], ebx
cmp ecx, ebx
jbe 0x42d510
push str.RtlGetVersion
push str.ntdll.dll
mov dword [0x521e2c], ebx
mov dword [0x521e30], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call esi
test eax, eax
je 0x42d510
lea ecx, [ebp - 0x470]
push ecx
call eax
cmp dword [ebp - 0x46c], 0xa
jne 0x42d510
jmp 0x42d4fa
jbe 0x42d510
mov dword [0x521e20], ebx
mov dword [0x521e24], ebx
mov dword [0x521e2c], ebx
mov dword [0x521e30], ebx
mov dword [0x521e34], ebx
mov dword [0x521e38], ebx
jmp 0x42d510
cmp dword [ebp - 0x34c], ebx
cmove eax, ebx
mov dword [0x521e1c], eax
mov ax, word [0x4d18d0]
xor esi, esi
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push esi
push eax
call fcn.0049f230
add esp, 0xc
cmp dword [0x521e2c], esi
je 0x42d5cf
xor eax, eax
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov dword [ebp - 4], esi
call fcn.0042d2b7
push eax
lea ecx, [ebp - 0x248]
call fcn.004022ea
lea eax, [ebp - 0x230]
mov byte [ebp - 4], bl
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.004270be
pop ecx
pop ecx
lea ecx, [ebp - 0x248]
call fcn.00404061
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 0x4d2db0
lea eax, [ebp - 0x218]
push 0x103
push eax
call fcn.00404609
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
add esp, 0x10
call fcn.00404061
jmp 0x42d5e2
lea eax, [ebp - 0x218]
push 0x103
push eax
call fcn.0042d2e4
pop ecx
pop ecx
mov ax, word [ebp - 0x218]
push 0x37
pop ecx
cmp cx, ax
jne 0x42d5f9
mov dword [0x521e40], ebx
jmp 0x42d659
push 0x36
pop ecx
cmp cx, ax
jne 0x42d609
mov dword [0x521e44], ebx
jmp 0x42d659
push 0x38
pop ecx
cmp cx, ax
jne 0x42d619
mov dword [0x521e48], ebx
jmp 0x42d659
push 0x39
pop ecx
cmp cx, ax
jne 0x42d629
mov dword [0x521e4c], ebx
jmp 0x42d659
push 0x31
pop ecx
cmp cx, ax
jne 0x42d659
push 0x30
pop eax
cmp ax, word [ebp - 0x216]
jne 0x42d645
mov dword [0x521e50], ebx
jmp 0x42d659
mov eax, dword [0x521e54]
cmp cx, word [ebp - 0x216]
cmove eax, ebx
mov dword [0x521e54], eax
call fcn.0042d669
mov dword [0x521e3c], eax
call fcn.00496cc9
ret