Function at 0x472613
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 0x47264a
lea rsi, [rsp + 0x90]
mov rcx, rsi
call fcn.004724de
test eax, eax
js 0x472960
xor eax, eax
mov ecx, 0x6c
mov rdi, rbx
rep stosd dword [rdi], eax
or rdx, 0xffffffffffffffff
lea r8, [rsp + 0x50]
mov ecx, 0x10
mov qword [rbx + 0xf4], rdx
mov qword [rbx + 0xfc], rdx
lea r14, str.GenuineIntel
mov qword [rbx + 0x104], rdx
mov qword [rbx + 0x10c], rdx
mov rdi, r8
mov qword [rbx + 0x114], rdx
mov qword [rbx + 0x11c], rdx
xor r12d, r12d
mov dword [rbx + 0x124], edx
mov dword [rbx + 0x168], edx
mov r9d, dword [rsi + 4]
rep stosd dword [rdi], eax
mov rdi, r8
mov dword [rbx], r9d
mov r10d, dword [rsi + 0xc]
mov dword [rbx + 4], r10d
mov r11d, dword [rsi + 8]
mov byte [rbx + 0xc], 0
mov dword [rbx + 8], r11d
imul rdx, r12, 0x14
mov rcx, rbx
movsxd r13, r12d
add rdx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4726ee
imul rdx, r13, 0x14
lea rax, [0x004b6b40]
mov r9d, dword [rax + rdx]
jmp 0x4726fb
inc r12
cmp r12, 0xa
jne 0x4726c7
or r9d, 0xffffffff
cmp r9d, 0xffffffff
mov dword [rbx + 0x50], r9d
mov eax, 0xfffffff9
je 0x472960
cmp dword [rsi], 0
jle 0x472788
mov r10d, dword [rsi + 0x10]
mov r11d, r10d
mov r8d, r10d
mov ecx, r10d
shr r11d, 8
shr r8d, 4
mov r12d, r10d
and r11d, 0xf
and r8d, 0xf
and ecx, 0xf
shr r10d, 0x14
shr r12d, 0x10
cmp r11d, 0xf
mov dword [rbx + 0xd4], r11d
mov dword [rbx + 0xd8], r8d
movzx r14d, r10b
mov dword [rbx + 0xdc], ecx
je 0x47276a
dec r9d
jne 0x47276a
mov dword [rbx + 0xe0], r11d
jmp 0x472774
add r14d, r11d
mov dword [rbx + 0xe0], r14d
mov ecx, r12d
shl ecx, 4
movzx r13d, cl
add r13d, r8d
mov dword [rbx + 0xe4], r13d
mov r9d, dword [rsi + 0x200]
sub r9d, 0x8000000
cmp r9d, 3
jle 0x4727ff
lea rdx, [rsi + 0x20]
lea r11, [rsi + 0x50]
mov r10, rdi
xor eax, eax
mov r8d, dword [rdx + rax + 0x200]
mov dword [r10 + rax], r8d
add rax, 4
cmp rax, 0x10
jne 0x4727a9
add rdx, 0x10
add r10, 0x10
cmp r11, rdx
jne 0x4727a7
lea r14, [rsp + 0x4f]
mov byte [rsp + 0x80], 0
xor r12d, r12d
movsxd rdx, r12d
inc r12
cmp byte [r14 + r12], 0x20
je 0x4727dc
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 0x472844
mov r8d, dword [rsi + 0x1c]
lea rcx, [0x004b6a80]
mov r9, rbx
mov edx, 0x17
call fcn.00473e1d
mov r8d, dword [rsi + 0x18]
lea rcx, [0x004b6a00]
mov r9, rbx
mov edx, 0x10
call fcn.00473e1d
cmp dword [rsi], 6
jbe 0x472861
mov r8d, dword [rsi + 0x74]
lea rcx, [0x004b69d0]
mov r9, rbx
mov edx, 3
call fcn.00473e1d
cmp dword [rsi + 0x200], 0x80000000
lea r13, [rsp + 0x20]
jbe 0x4728a4
mov r8d, dword [rsi + 0x21c]
lea rcx, [0x004b69b0]
mov r9, rbx
mov edx, 3
call fcn.00473e1d
mov r8d, dword [rsi + 0x218]
mov r9, rbx
mov edx, 1
mov rcx, r13
call fcn.00473e1d
cmp dword [rsi + 0x200], 0x80000006
jbe 0x4728cb
mov r8d, dword [rsi + 0x27c]
lea rcx, str._bR_v_e_
mov r9, rbx
mov edx, 1
call fcn.00473e1d
cmp byte [rbx + 0x6b], 0
je 0x47291e
mov ecx, dword [rbx + 0x50]
test ecx, ecx
je 0x4728fb
dec ecx
jne 0x47291e
mov r9d, dword [rbx + 0xe0]
cmp r9d, 0xf
jle 0x4728f4
cmp r9d, 0x11
mov eax, pe_nt_image_headers64
jne 0x472918
mov eax, 0x40
jmp 0x472918
cmp dword [rbx + 0xd4], 6
mov eax, 0x40
jne 0x472918
cmp dword [rbx + 0xe4], 0xf
mov edx, pe_nt_image_headers64
cmovge eax, edx
mov dword [rbx + 0x168], eax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rbx + 0x50]
mov r10d, dword [rsp + 0x40]
test edi, edi
mov dword [rbx + 0xf0], r10d
je 0x47294e
dec edi
jne 0x47295e
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.00472d10
jmp 0x472960
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.00472fba
jmp 0x472960
xor eax, eax
add rsp, 0x5d0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret