Function at 0x462b54
Capabilities:
Get system information on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x5d0
test rcx, rcx
mov rsi, rcx
mov rbx, rdx
mov rbp, r8
jne 0x462b8b
lea rsi, [rsp + 0x90]
mov rcx, rsi
call fcn.00462a14
test eax, eax
js 0x462eec
xor eax, eax
mov ecx, 0x6c
mov rdi, rbx
rep stosd dword [rdi], eax
mov dword [rbx + 0x104], 0xffffffff
mov dword [rbx + 0x100], 0xffffffff
lea rdx, [rsp + 0x50]
mov dword [rbx + 0xfc], 0xffffffff
mov dword [rbx + 0xf8], 0xffffffff
mov ecx, 0x10
mov dword [rbx + 0xf4], 0xffffffff
mov dword [rbx + 0x114], 0xffffffff
mov rdi, rdx
mov dword [rbx + 0x110], 0xffffffff
mov dword [rbx + 0x10c], 0xffffffff
lea r14, [0x0051de40]
mov dword [rbx + 0x108], 0xffffffff
mov dword [rbx + 0x124], 0xffffffff
xor r12d, r12d
mov dword [rbx + 0x120], 0xffffffff
mov dword [rbx + 0x11c], 0xffffffff
mov dword [rbx + 0x118], 0xffffffff
mov dword [rbx + 0x168], 0xffffffff
mov r8d, dword [rsi + 4]
rep stosd dword [rdi], eax
mov rdi, rdx
mov dword [rbx], r8d
mov r9d, dword [rsi + 0xc]
mov dword [rbx + 4], r9d
mov r10d, dword [rsi + 8]
mov byte [rbx + 0xc], 0
mov dword [rbx + 8], r10d
imul r11, r12, 0x14
mov rcx, rbx
movsxd r13, r12d
lea rdx, [r14 + r11 + 4]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x462c7c
imul rax, r13, 0x14
mov r9d, dword [r14 + rax]
jmp 0x462c89
inc r12
cmp r12, 0xa
jne 0x462c5a
or r9d, 0xffffffff
cmp r9d, 0xffffffff
mov dword [rbx + 0x50], r9d
mov eax, 0xfffffff9
je 0x462eec
cmp dword [rsi], 0
jle 0x462d11
mov r10d, dword [rsi + 0x10]
mov edx, r10d
mov r8d, r10d
mov ecx, r10d
shr edx, 8
shr r8d, 4
mov r12d, r10d
and edx, 0xf
and r8d, 0xf
and ecx, 0xf
shr r10d, 0x14
shr r12d, 0x10
cmp edx, 0xf
mov dword [rbx + 0xd4], edx
mov dword [rbx + 0xd8], r8d
movzx r14d, r10b
mov dword [rbx + 0xdc], ecx
je 0x462cf3
dec r9d
jne 0x462cf3
mov dword [rbx + 0xe0], edx
jmp 0x462cfd
add r14d, edx
mov dword [rbx + 0xe0], r14d
mov ecx, r12d
shl ecx, 4
movzx r13d, cl
add r13d, r8d
mov dword [rbx + 0xe4], r13d
mov r11d, dword [rsi + 0x200]
sub r11d, 0x8000000
cmp r11d, 3
jle 0x462d86
xor eax, eax
lea rdx, [rdi + rax]
lea r8, [rsi + rax + 0x20]
xor r10d, r10d
mov r9d, dword [r8 + r10 + 0x200]
mov dword [rdx + r10], r9d
add r10, 4
cmp r10, 0x10
jne 0x462d33
add rax, 0x10
cmp rax, 0x30
jne 0x462d27
lea r14, [rsp + 0x4f]
mov byte [rsp + 0x80], 0
xor r12d, r12d
movsxd rdx, r12d
inc r12
cmp byte [r14 + r12], 0x20
je 0x462d63
lea rcx, [rbx + 0x10]
add rdx, rdi
mov r8d, 0x40
call sub.msvcrt.dll_strncpy
mov byte [rbx + 0x40], 0
cmp dword [rsi], 0
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x24], 0x3e
je 0x462dcb
mov r8d, dword [rsi + 0x1c]
lea rcx, [0x0051dd80]
mov r9, rbx
mov edx, 0x17
call fcn.0046440d
mov r8d, dword [rsi + 0x18]
lea rcx, [0x0051dd00]
mov r9, rbx
mov edx, 0x10
call fcn.0046440d
cmp dword [rsi], 6
jbe 0x462de8
mov r8d, dword [rsi + 0x74]
lea rcx, [0x0051dcd0]
mov r9, rbx
mov edx, 3
call fcn.0046440d
cmp dword [rsi + 0x200], 0x80000000
lea rdi, [rsp + 0x20]
jbe 0x462e2b
mov r8d, dword [rsi + 0x21c]
lea rcx, [0x0051dcb0]
mov r9, rbx
mov edx, 3
call fcn.0046440d
mov r8d, dword [rsi + 0x218]
mov r9, rbx
mov edx, 1
mov rcx, rdi
call fcn.0046440d
cmp dword [rsi + 0x200], 0x80000006
jbe 0x462e52
mov r8d, dword [rsi + 0x27c]
lea rcx, str._bR_v_e_
mov r9, rbx
mov edx, 1
call fcn.0046440d
cmp byte [rbx + 0x6b], 0
je 0x462eaa
mov ecx, dword [rbx + 0x50]
test ecx, ecx
je 0x462e84
dec ecx
jne 0x462eaa
mov r13d, dword [rbx + 0xe0]
cmp r13d, 0xf
jle 0x462e7c
cmp r13d, 0x11
mov r11d, pe_nt_image_headers64
jne 0x462ea3
mov r11d, 0x40
jmp 0x462ea3
cmp dword [rbx + 0xd4], 6
mov r11d, 0x40
jne 0x462ea3
cmp dword [rbx + 0xe4], 0xf
mov eax, pe_nt_image_headers64
cmovge r11d, eax
mov dword [rbx + 0x168], r11d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rbx + 0x50]
mov r10d, dword [rsp + 0x40]
test edx, edx
mov dword [rbx + 0xf0], r10d
je 0x462eda
dec edx
jne 0x462eea
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.004632a0
jmp 0x462eec
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.00463561
jmp 0x462eec
xor eax, eax
add rsp, 0x5d0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret