Function at 0x439dc0
Capabilities:
Get system information on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
test rdx, rdx
mov rdi, rcx
je 0x43a174
mov r9, qword [rcx + 0x10]
cmp r9, rdx
ja 0x43a1a0
mov rax, qword [0x006881d8]
test rax, rax
je 0x43a130
lea rsi, [rax - 1]
shl rdx, 3
test rax, rsi
jne 0x43a1c0
add rsi, rdx
neg rax
lea rdx, str.InternalMmapVector
and rsi, rax
mov rcx, rsi
call fcn.0040d590
mov rcx, qword [rdi]
mov rbx, rax
mov rax, qword [rdi + 0x10]
shl rax, 3
test rax, rax
je 0x43a10b
lea rdx, [rbx + 0x10]
cmp rcx, rdx
lea rdx, [rcx + 0x10]
setae r8b
cmp rbx, rdx
setae dl
or r8b, dl
je 0x43a155
cmp rax, 0x16
jbe 0x43a155
mov r8, rcx
neg r8
and r8d, 0xf
cmp r8, rax
cmova r8, rax
xor edx, edx
test r8, r8
je 0x439f71
movzx edx, byte [rcx]
cmp r8, 1
mov byte [rbx], dl
je 0x43a290
movzx edx, byte [rcx + 1]
cmp r8, 2
mov byte [rbx + 1], dl
je 0x43a250
movzx edx, byte [rcx + 2]
cmp r8, 3
mov byte [rbx + 2], dl
je 0x43a260
movzx edx, byte [rcx + 3]
cmp r8, 4
mov byte [rbx + 3], dl
je 0x43a270
movzx edx, byte [rcx + 4]
cmp r8, 5
mov byte [rbx + 4], dl
je 0x43a280
movzx edx, byte [rcx + 5]
cmp r8, 6
mov byte [rbx + 5], dl
je 0x43a1d0
movzx edx, byte [rcx + 6]
cmp r8, 7
mov byte [rbx + 6], dl
je 0x43a1e0
movzx edx, byte [rcx + 7]
cmp r8, 8
mov byte [rbx + 7], dl
je 0x43a1f0
movzx edx, byte [rcx + 8]
cmp r8, 9
mov byte [rbx + 8], dl
je 0x43a200
movzx edx, byte [rcx + 9]
cmp r8, 0xa
mov byte [rbx + 9], dl
je 0x43a210
movzx edx, byte [rcx + 0xa]
cmp r8, 0xb
mov byte [rbx + 0xa], dl
je 0x43a220
movzx edx, byte [rcx + 0xb]
cmp r8, 0xc
mov byte [rbx + 0xb], dl
je 0x43a230
movzx edx, byte [rcx + 0xc]
cmp r8, 0xd
mov byte [rbx + 0xc], dl
je 0x43a240
movzx edx, byte [rcx + 0xd]
cmp r8, 0xe
mov byte [rbx + 0xd], dl
je 0x43a1c5
movzx edx, byte [rcx + 0xe]
mov byte [rbx + 0xe], dl
mov edx, 0xf
lea r10, [rax - 1]
mov r11, rax
sub r11, r8
sub r10, r8
lea r9, [r11 - 0x10]
shr r9, 4
add r9, 1
mov rbp, r9
shl rbp, 4
cmp r10, 0xe
jbe 0x439fc9
lea r13, [rcx + r8]
xor r10d, r10d
add r8, rbx
xor r12d, r12d
movdqa xmm0, xmmword [r13 + r10]
add r12, 1
movups xmmword [r8 + r10], xmm0
add r10, 0x10
cmp r12, r9
jb 0x439fa4
add rdx, rbp
cmp r11, rbp
je 0x43a108
movzx r8d, byte [rcx + rdx]
mov byte [rbx + rdx], r8b
lea r8, [rdx + 1]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 1]
mov byte [rbx + rdx + 1], r8b
lea r8, [rdx + 2]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 2]
mov byte [rbx + rdx + 2], r8b
lea r8, [rdx + 3]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 3]
mov byte [rbx + rdx + 3], r8b
lea r8, [rdx + 4]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 4]
mov byte [rbx + rdx + 4], r8b
lea r8, [rdx + 5]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 5]
mov byte [rbx + rdx + 5], r8b
lea r8, [rdx + 6]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 6]
mov byte [rbx + rdx + 6], r8b
lea r8, [rdx + 7]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 7]
mov byte [rbx + rdx + 7], r8b
lea r8, [rdx + 8]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 8]
mov byte [rbx + rdx + 8], r8b
lea r8, [rdx + 9]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 9]
mov byte [rbx + rdx + 9], r8b
lea r8, [rdx + 0xa]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 0xa]
mov byte [rbx + rdx + 0xa], r8b
lea r8, [rdx + 0xb]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 0xb]
mov byte [rbx + rdx + 0xb], r8b
lea r8, [rdx + 0xc]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 0xc]
mov byte [rbx + rdx + 0xc], r8b
lea r8, [rdx + 0xd]
cmp rax, r8
jbe 0x43a108
movzx r8d, byte [rcx + rdx + 0xd]
mov byte [rbx + rdx + 0xd], r8b
lea r8, [rdx + 0xe]
cmp rax, r8
jbe 0x43a108
movzx eax, byte [rcx + rdx + 0xe]
mov byte [rbx + rdx + 0xe], al
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
call fcn.0040e7f0
mov qword [rdi], rbx
mov qword [rdi + 8], rsi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov qword [rsp + 0x38], rdx
lea rcx, [rsp + 0x40]
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x38]
mov qword [0x006881d8], rax
jmp 0x439df5
xor edx, edx
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
mov byte [rbx + rdx], r8b
add rdx, 1
cmp rax, rdx
jne 0x43a160
jmp 0x43a108
lea r8, str.__new_capacity_______0__
xor r9d, r9d
mov edx, 0x225
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_common.h
call fcn.00406990
nop dword [rax + rax]
mov qword [rsp + 0x20], rdx
lea r8, str.__size________new_capacity__
mov edx, 0x226
lea rcx, str....._sanitizer_common_sanitizer_common.h
call fcn.00406990
nop dword [rax]
call fcn.0040b4c0
mov edx, 0xe
jmp 0x439f71
mov edx, 6
jmp 0x439f71
mov edx, 7
jmp 0x439f71
mov edx, 8
jmp 0x439f71
mov edx, 9
jmp 0x439f71
mov edx, 0xa
jmp 0x439f71
mov edx, 0xb
jmp 0x439f71
mov edx, 0xc
jmp 0x439f71
mov edx, 0xd
jmp 0x439f71
mov edx, 2
jmp 0x439f71
mov edx, 3
jmp 0x439f71
mov edx, 4
jmp 0x439f71
mov edx, 5
jmp 0x439f71
mov edx, 1
jmp 0x439f71