Function at 0x47e0e3
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 0x47e11a
lea rsi, [rsp + 0x90]
mov rcx, rsi
call fcn.0047dfae
test eax, eax
js 0x47e430
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 0x47e1be
imul rdx, r13, 0x14
lea rax, [0x004cf800]
mov r9d, dword [rax + rdx]
jmp 0x47e1cb
inc r12
cmp r12, 0xa
jne 0x47e197
or r9d, 0xffffffff
cmp r9d, 0xffffffff
mov dword [rbx + 0x50], r9d
mov eax, 0xfffffff9
je 0x47e430
cmp dword [rsi], 0
jle 0x47e258
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 0x47e23a
dec r9d
jne 0x47e23a
mov dword [rbx + 0xe0], r11d
jmp 0x47e244
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 0x47e2cf
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 0x47e279
add rdx, 0x10
add r10, 0x10
cmp r11, rdx
jne 0x47e277
lea r14, [rsp + 0x4f]
mov byte [rsp + 0x80], 0
xor r12d, r12d
movsxd rdx, r12d
inc r12
cmp byte [r14 + r12], 0x20
je 0x47e2ac
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 0x47e314
mov r8d, dword [rsi + 0x1c]
lea rcx, [0x004cf740]
mov r9, rbx
mov edx, 0x17
call fcn.0047f8ed
mov r8d, dword [rsi + 0x18]
lea rcx, [0x004cf6c0]
mov r9, rbx
mov edx, 0x10
call fcn.0047f8ed
cmp dword [rsi], 6
jbe 0x47e331
mov r8d, dword [rsi + 0x74]
lea rcx, [0x004cf690]
mov r9, rbx
mov edx, 3
call fcn.0047f8ed
cmp dword [rsi + 0x200], 0x80000000
lea r13, [rsp + 0x20]
jbe 0x47e374
mov r8d, dword [rsi + 0x21c]
lea rcx, [0x004cf670]
mov r9, rbx
mov edx, 3
call fcn.0047f8ed
mov r8d, dword [rsi + 0x218]
mov r9, rbx
mov edx, 1
mov rcx, r13
call fcn.0047f8ed
cmp dword [rsi + 0x200], 0x80000006
jbe 0x47e39b
mov r8d, dword [rsi + 0x27c]
lea rcx, str._bR_v_e_
mov r9, rbx
mov edx, 1
call fcn.0047f8ed
cmp byte [rbx + 0x6b], 0
je 0x47e3ee
mov ecx, dword [rbx + 0x50]
test ecx, ecx
je 0x47e3cb
dec ecx
jne 0x47e3ee
mov r9d, dword [rbx + 0xe0]
cmp r9d, 0xf
jle 0x47e3c4
cmp r9d, 0x11
mov eax, pe_nt_image_headers64
jne 0x47e3e8
mov eax, 0x40
jmp 0x47e3e8
cmp dword [rbx + 0xd4], 6
mov eax, 0x40
jne 0x47e3e8
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 0x47e41e
dec edi
jne 0x47e42e
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.0047e7e0
jmp 0x47e430
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.0047ea8a
jmp 0x47e430
xor eax, eax
add rsp, 0x5d0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret