Function at 0x43a400
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 0x43a7c0
mov r9, qword [rcx + 0x10]
cmp r9, rdx
ja 0x43a7e4
mov rax, qword [0x015c8778]
test rax, rax
je 0x43a774
lea rdx, [rdx + rdx*2]
lea rsi, [rdx*8]
lea rdx, [rax - 1]
test rax, rdx
jne 0x43a801
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]
lea rax, [rax + rax*2]
shl rax, 3
test rax, rax
je 0x43a757
lea rdx, [rbx + 0x10]
cmp rcx, rdx
lea rdx, [rcx + 0x10]
setae r8b
cmp rbx, rdx
setae dl
or r8b, dl
je 0x43a7a0
cmp rax, 0x16
jbe 0x43a7a0
mov r8, rcx
neg r8
and r8d, 0xf
cmp r8, rax
cmova r8, rax
xor edx, edx
test r8, r8
je 0x43a5bd
movzx edx, byte [rcx]
cmp r8, 1
mov byte [rbx], dl
je 0x43a8e0
movzx edx, byte [rcx + 1]
cmp r8, 2
mov byte [rbx + 1], dl
je 0x43a8a0
movzx edx, byte [rcx + 2]
cmp r8, 3
mov byte [rbx + 2], dl
je 0x43a8b0
movzx edx, byte [rcx + 3]
cmp r8, 4
mov byte [rbx + 3], dl
je 0x43a8c0
movzx edx, byte [rcx + 4]
cmp r8, 5
mov byte [rbx + 4], dl
je 0x43a8d0
movzx edx, byte [rcx + 5]
cmp r8, 6
mov byte [rbx + 5], dl
je 0x43a820
movzx edx, byte [rcx + 6]
cmp r8, 7
mov byte [rbx + 6], dl
je 0x43a830
movzx edx, byte [rcx + 7]
cmp r8, 8
mov byte [rbx + 7], dl
je 0x43a840
movzx edx, byte [rcx + 8]
cmp r8, 9
mov byte [rbx + 8], dl
je 0x43a850
movzx edx, byte [rcx + 9]
cmp r8, 0xa
mov byte [rbx + 9], dl
je 0x43a860
movzx edx, byte [rcx + 0xa]
cmp r8, 0xb
mov byte [rbx + 0xa], dl
je 0x43a870
movzx edx, byte [rcx + 0xb]
cmp r8, 0xc
mov byte [rbx + 0xb], dl
je 0x43a880
movzx edx, byte [rcx + 0xc]
cmp r8, 0xd
mov byte [rbx + 0xc], dl
je 0x43a890
movzx edx, byte [rcx + 0xd]
cmp r8, 0xe
mov byte [rbx + 0xd], dl
je 0x43a810
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 0x43a615
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 0x43a5f0
add rdx, rbp
cmp r11, rbp
je 0x43a754
movzx r8d, byte [rcx + rdx]
mov byte [rbx + rdx], r8b
lea r8, [rdx + 1]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 1]
mov byte [rbx + rdx + 1], r8b
lea r8, [rdx + 2]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 2]
mov byte [rbx + rdx + 2], r8b
lea r8, [rdx + 3]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 3]
mov byte [rbx + rdx + 3], r8b
lea r8, [rdx + 4]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 4]
mov byte [rbx + rdx + 4], r8b
lea r8, [rdx + 5]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 5]
mov byte [rbx + rdx + 5], r8b
lea r8, [rdx + 6]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 6]
mov byte [rbx + rdx + 6], r8b
lea r8, [rdx + 7]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 7]
mov byte [rbx + rdx + 7], r8b
lea r8, [rdx + 8]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 8]
mov byte [rbx + rdx + 8], r8b
lea r8, [rdx + 9]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 9]
mov byte [rbx + rdx + 9], r8b
lea r8, [rdx + 0xa]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 0xa]
mov byte [rbx + rdx + 0xa], r8b
lea r8, [rdx + 0xb]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 0xb]
mov byte [rbx + rdx + 0xb], r8b
lea r8, [rdx + 0xc]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 0xc]
mov byte [rbx + rdx + 0xc], r8b
lea r8, [rdx + 0xd]
cmp rax, r8
jbe 0x43a754
movzx r8d, byte [rcx + rdx + 0xd]
mov byte [rbx + rdx + 0xd], r8b
lea r8, [rdx + 0xe]
cmp rax, r8
jbe 0x43a754
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 [0x015c8778], rax
jmp 0x43a435
xor edx, edx
movzx r8d, byte [rcx + rdx]
mov byte [rbx + rdx], r8b
add rdx, 1
cmp rax, rdx
jne 0x43a7a2
jmp 0x43a754
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
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
call fcn.0040b4c0
nop word cs:[rax + rax]
mov edx, 0xe
jmp 0x43a5bd
mov edx, 6
jmp 0x43a5bd
mov edx, 7
jmp 0x43a5bd
mov edx, 8
jmp 0x43a5bd
mov edx, 9
jmp 0x43a5bd
mov edx, 0xa
jmp 0x43a5bd
mov edx, 0xb
jmp 0x43a5bd
mov edx, 0xc
jmp 0x43a5bd
mov edx, 0xd
jmp 0x43a5bd
mov edx, 2
jmp 0x43a5bd
mov edx, 3
jmp 0x43a5bd
mov edx, 4
jmp 0x43a5bd
mov edx, 5
jmp 0x43a5bd
mov edx, 1
jmp 0x43a5bd