Function at 0x100005920
Capabilities:
Check os version
Get system information on windows

Disassembly:
sub rsp, 0x248
mov rax, qword [0x10000e360]
mov qword [rsp + 0x230], rax
xor eax, eax
mov qword [rsp + 0x260], rbx
mov rbx, rcx
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8d, 0x11c
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x70], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x100005e4b
lea rcx, [0x100002d08]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x100002cf0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1000059c1
lea rcx, [rsp + 0x38]
call rax
jmp 0x1000059cc
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [rsp + 0x80], 2
jne 0x100005e52
mov eax, dword [rsp + 0x74]
cmp eax, 4
jbe 0x100005e52
cmp eax, 6
jne 0x100005b51
mov eax, dword [rsp + 0x78]
cmp eax, 1
jne 0x100005aab
cmp byte [rsp + 0x18a], al
jne 0x100005a18
lea rdx, [0x100002cd8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005a28
lea rdx, [0x100002ca8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [0x100002d08]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x100002c98]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x30]
xor r9d, r9d
lea edx, [r9 + 1]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
lea ecx, [rdx + 5]
call rax
mov ecx, dword [rsp + 0x30]
mov rdx, rbx
call fcn.1000048e0
mov rdx, qword [rsp + 0x38]
cmp dx, 9
jne 0x100005a87
lea rdx, [0x100002c80]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005a9c
test dx, dx
jne 0x100005a9c
lea rdx, [0x100002c68]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [rsp + 0x74], 6
jne 0x100005b51
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x100005dd3
cmp byte [rsp + 0x18a], 1
jne 0x100005acf
lea rdx, [0x100002c48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005adf
lea rdx, [0x100002c18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [0x100002d08]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x100002c98]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x30]
xor edx, edx
mov qword [rsp + 0x20], rcx
lea ecx, [rdx + 6]
xor r9d, r9d
xor r8d, r8d
call rax
mov ecx, dword [rsp + 0x30]
mov rdx, rbx
call fcn.1000048e0
mov rcx, qword [rsp + 0x38]
cmp cx, 9
jne 0x100005b3c
lea rdx, [0x100002c80]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005b51
test cx, cx
jne 0x100005b51
lea rdx, [0x100002c68]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [rsp + 0x74], 5
jne 0x100005dd3
mov eax, dword [rsp + 0x78]
cmp eax, 2
jne 0x100005d11
lea ecx, [rax + 0x57]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x100005b88
lea rdx, [0x100002be0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005bda
cmp word [rsp + 0x188], 0x2000
jne 0x100005ba6
lea rdx, [0x100002ba8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005bda
cmp byte [rsp + 0x18a], 1
jne 0x100005bca
cmp word [rsp + 0x38], 9
jne 0x100005bca
lea rdx, [0x100002b60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005bda
lea rdx, [0x100002b30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp byte [rsp + 0x18a], 1
je 0x100005d02
mov rax, qword [rsp + 0x38]
cmp ax, 6
jne 0x100005c31
movzx eax, byte [rsp + 0x188]
test al, al
jns 0x100005c14
lea rdx, [0x100002ad0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
test al, 2
je 0x100005d02
lea rdx, [0x1000020f0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
cmp ax, 9
jne 0x100005c83
movzx eax, byte [rsp + 0x188]
test al, al
jns 0x100005c58
lea rdx, [0x100002a98]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
test al, 2
je 0x100005c71
lea rdx, [0x100002a68]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
lea rdx, [0x100002a38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
movzx eax, word [rsp + 0x188]
bt ax, 0xe
jae 0x100005ca4
lea rdx, [0x100002a08]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
movzx ecx, byte [rsp + 0x188]
test cl, cl
jns 0x100005cc2
lea rdx, [0x1000021f0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
test cl, 2
je 0x100005cd9
lea rdx, [0x1000021c8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
bt ax, 0xa
jae 0x100005cf2
lea rdx, [0x1000029f0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d02
lea rdx, [0x100002170]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [rsp + 0x74], 5
jne 0x100005dd3
mov eax, dword [rsp + 0x78]
cmp eax, 1
jne 0x100005d5f
lea rdx, [0x1000029d8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
bt word [rsp + 0x188], 9
jae 0x100005d44
lea rdx, [0x1000029b8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005d54
lea rdx, [0x100002998]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [rsp + 0x74], 5
jne 0x100005dd3
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x100005dd3
lea rdx, [0x100002978]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
cmp byte [rsp + 0x18a], 1
jne 0x100005d8f
lea rdx, [0x100002998]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005dd3
movzx eax, byte [rsp + 0x188]
test al, al
jns 0x100005dad
lea rdx, [0x100002950]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005dd3
test al, 2
je 0x100005dc3
lea rdx, [0x100002930]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x100005dd3
lea rdx, [0x100002920]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov qword [rsp + 0x268], rdi
xor eax, eax
lea rdi, [rsp + 0x84]
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rdi, qword [rsp + 0x268]
not rcx
dec rcx
je 0x100005e20
lea rdx, [0x100002918]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x84]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov r8d, dword [rsp + 0x7c]
lea rdx, [0x100002900]
lea rcx, [rsp + 0x190]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rdx, [rsp + 0x190]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, 1
jmp 0x100005e64
lea rdx, [0x1000028e0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
xor eax, eax
mov rbx, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x230]
call fcn.10000afa0
add rsp, 0x248
ret