Function at 0x410ec0
Capabilities:
Get system information on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rax, [rcx + 8]
mov rbx, rcx
mov byte [rcx], 0
mov byte [rcx + 0x80008], 0
lea rdx, [rcx + 0x80008]
test al, 0xf
jne 0x4111a0
cmp rax, rdx
jae 0x410f0a
mov qword [rax + 8], 0
add rax, 0x10
mov qword [rax - 0x10], 0
cmp rdx, rax
ja 0x410ef1
lea rax, str.heap_block_allocator
mov byte [rbx + 0x100020], 0
mov qword [rbx + 0x80018], rax
lea rax, [rbx + 0x80020]
mov dword [rbx + 0x8000c], 0
test al, 0xf
mov qword [rbx + 0x80010], 0
jne 0x4111c1
lea rdx, [rbx + 0x100020]
cmp rax, rdx
jae 0x410f69
nop
mov qword [rax + 8], 0
add rax, 0x10
mov qword [rax - 0x10], 0
cmp rdx, rax
ja 0x410f50
lea rax, str.sync_allocator
mov qword [rbx + 0x100038], 0
mov qword [rbx + 0x100030], rax
lea rax, [0x0041d820]
mov qword [0x00f75be0], rax
lea rdx, [0x00f75c50]
mov dword [rbx + 0x100024], 0
lea rax, [0x00f75bf8]
mov qword [rbx + 0x100028], 0
mov qword [rbx + 0x100040], 0
mov dword [rbx + 0x100048], 0
mov dword [rbx + 0x10004c], 0
mov dword [0x00f75be8], 0x1fc0
mov dword [0x00f75bec], 0x40
mov dword [0x00f75bf0], 0x3fffff
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x410ff0
mov ecx, dword [0x00f75be8]
lea rdx, str.ThreadRegistry
mov dword [0x00f75c50], 0
mov qword [0x00f75c58], 0
mov qword [0x00f75c60], 0
mov qword [0x00f75c68], 0
mov qword [0x00f75c70], 0
shl rcx, 3
call fcn.0040d510
lea rdx, [rbx + 0x1800d0]
mov qword [rbx + 0x100070], 0
mov qword [0x00f75c78], rax
lea rax, [0x00f75be0]
mov qword [rbx + 0x100068], rax
lea rax, [rbx + 0x1000d0]
mov qword [rbx + 0x1000a8], 0
test al, 0xf
mov qword [0x00f75c90], 0
mov qword [0x00f75c88], 0
mov qword [0x00f75c80], 0
mov qword [0x00f75ca8], 0
mov qword [0x00f75ca0], 0
mov qword [0x00f75c98], 0
mov qword [rbx + 0x100078], 0
mov qword [rbx + 0x100080], 0
mov qword [rbx + 0x100088], 0
mov qword [rbx + 0x100090], 0
mov qword [rbx + 0x100098], 0
mov qword [rbx + 0x1000a0], 0
mov qword [rbx + 0x1000b8], 0
mov qword [rbx + 0x1000c0], 0
mov qword [rbx + 0x1000b0], 0
mov byte [rbx + 0x1800d0], 0
jne 0x4111e1
cmp rax, rdx
jae 0x411202
nop
mov qword [rax + 8], 0
add rax, 0x10
mov qword [rax - 0x10], 0
cmp rdx, rax
ja 0x411140
mov rax, qword [rbx + 0x1000b8]
lea rdi, str.clock_allocator
mov dword [rbx + 0x1800d4], 0
mov qword [rbx + 0x1800d8], 0
mov qword [rbx + 0x1800e0], rdi
cmp rax, 0xbf
jbe 0x411225
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov byte [rax], 0
add rax, 1
cmp rdx, rax
je 0x410f0a
mov byte [rax], 0
add rax, 1
cmp rdx, rax
jne 0x4111a0
jmp 0x410f0a
lea rdx, [rbx + 0x100020]
nop dword [rax + rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x4111d0
jmp 0x410f69
mov byte [rax], 0
add rax, 1
cmp rax, rdx
je 0x411159
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x4111e1
jmp 0x411159
lea rax, str.clock_allocator
mov dword [rbx + 0x1800d4], 0
mov qword [rbx + 0x1800d8], 0
mov qword [rbx + 0x1800e0], rax
mov r9, qword [rbx + 0x1000c0]
cmp r9, 8
ja 0x4115c4
mov rax, qword [0x006bca98]
test rax, rax
je 0x411592
lea rdx, [rax - 1]
test rdx, rax
jne 0x4115e5
lea rdi, [rax + 0xbf]
neg rax
lea rdx, str.InternalMmapVector
and rdi, rax
mov rcx, rdi
call fcn.0040d510
mov rcx, qword [rbx + 0x1000b0]
mov rsi, rax
mov rax, qword [rbx + 0x1000c0]
lea rax, [rax + rax*2]
shl rax, 3
test rax, rax
je 0x41156b
lea rdx, [rsi + 0x10]
cmp rcx, rdx
lea rdx, [rcx + 0x10]
setae r8b
cmp rsi, rdx
setae dl
or r8b, dl
je 0x4115ad
cmp rax, 0x16
jbe 0x4115ad
mov r8, rcx
neg r8
and r8d, 0xf
cmp r8, rax
cmova r8, rax
xor edx, edx
test r8, r8
je 0x4113cd
movzx edx, byte [rcx]
cmp r8, 1
mov byte [rsi], dl
je 0x4115f4
movzx edx, byte [rcx + 1]
cmp r8, 2
mov byte [rsi + 1], dl
je 0x4115ea
movzx edx, byte [rcx + 2]
cmp r8, 3
mov byte [rsi + 2], dl
je 0x41161c
movzx edx, byte [rcx + 3]
cmp r8, 4
mov byte [rsi + 3], dl
je 0x411612
movzx edx, byte [rcx + 4]
cmp r8, 5
mov byte [rsi + 4], dl
je 0x411608
movzx edx, byte [rcx + 5]
cmp r8, 6
mov byte [rsi + 5], dl
je 0x4115fe
movzx edx, byte [rcx + 6]
cmp r8, 7
mov byte [rsi + 6], dl
je 0x41166c
movzx edx, byte [rcx + 7]
cmp r8, 8
mov byte [rsi + 7], dl
je 0x411662
movzx edx, byte [rcx + 8]
cmp r8, 9
mov byte [rsi + 8], dl
je 0x411658
movzx edx, byte [rcx + 9]
cmp r8, 0xa
mov byte [rsi + 9], dl
je 0x41164e
movzx edx, byte [rcx + 0xa]
cmp r8, 0xb
mov byte [rsi + 0xa], dl
je 0x411644
movzx edx, byte [rcx + 0xb]
cmp r8, 0xc
mov byte [rsi + 0xb], dl
je 0x41163a
movzx edx, byte [rcx + 0xc]
cmp r8, 0xd
mov byte [rsi + 0xc], dl
je 0x411630
movzx edx, byte [rcx + 0xd]
cmp r8, 0xe
mov byte [rsi + 0xd], dl
je 0x411626
movzx edx, byte [rcx + 0xe]
mov byte [rsi + 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 0x411425
lea r13, [rcx + r8]
xor r10d, r10d
add r8, rsi
xor r12d, r12d
movdqa xmm0, xmmword [r13 + r10]
add r12, 1
movups xmmword [r8 + r10], xmm0
add r10, 0x10
cmp r12, r9
jb 0x411400
add rdx, rbp
cmp r11, rbp
je 0x411564
movzx r8d, byte [rcx + rdx]
mov byte [rsi + rdx], r8b
lea r8, [rdx + 1]
cmp r8, rax
jae 0x411564
movzx r8d, byte [rcx + rdx + 1]
mov byte [rsi + rdx + 1], r8b
lea r8, [rdx + 2]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 2]
mov byte [rsi + rdx + 2], r8b
lea r8, [rdx + 3]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 3]
mov byte [rsi + rdx + 3], r8b
lea r8, [rdx + 4]
cmp r8, rax
jae 0x411564
movzx r8d, byte [rcx + rdx + 4]
mov byte [rsi + rdx + 4], r8b
lea r8, [rdx + 5]
cmp r8, rax
jae 0x411564
movzx r8d, byte [rcx + rdx + 5]
mov byte [rsi + rdx + 5], r8b
lea r8, [rdx + 6]
cmp r8, rax
jae 0x411564
movzx r8d, byte [rcx + rdx + 6]
mov byte [rsi + rdx + 6], r8b
lea r8, [rdx + 7]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 7]
mov byte [rsi + rdx + 7], r8b
lea r8, [rdx + 8]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 8]
mov byte [rsi + rdx + 8], r8b
lea r8, [rdx + 9]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 9]
mov byte [rsi + rdx + 9], r8b
lea r8, [rdx + 0xa]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 0xa]
mov byte [rsi + rdx + 0xa], r8b
lea r8, [rdx + 0xb]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 0xb]
mov byte [rsi + rdx + 0xb], r8b
lea r8, [rdx + 0xc]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 0xc]
mov byte [rsi + rdx + 0xc], r8b
lea r8, [rdx + 0xd]
cmp rax, r8
jbe 0x411564
movzx r8d, byte [rcx + rdx + 0xd]
mov byte [rsi + rdx + 0xd], r8b
lea r8, [rdx + 0xe]
cmp rax, r8
jbe 0x411564
movzx eax, byte [rcx + rdx + 0xe]
mov byte [rsi + rdx + 0xe], al
mov rcx, qword [rbx + 0x1000b0]
mov rdx, qword [rbx + 0x1000b8]
call fcn.0040e770
mov qword [rbx + 0x1000b0], rsi
mov qword [rbx + 0x1000b8], rdi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rcx, [rsp + 0x30]
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x34]
mov qword [0x006bca98], rax
jmp 0x411246
xor edx, edx
nop
movzx r8d, byte [rcx + rdx]
mov byte [rsi + rdx], r8b
add rdx, 1
cmp rdx, rax
jne 0x4115b0
jmp 0x411564
mov qword [rsp + 0x20], 8
lea r8, str.__size________new_capacity__
mov edx, 0x226
lea rcx, str....._sanitizer_common_sanitizer_common.h
call fcn.00406910
call fcn.0040b440
mov edx, 2
jmp 0x4113cd
mov edx, 1
jmp 0x4113cd
mov edx, 6
jmp 0x4113cd
mov edx, 5
jmp 0x4113cd
mov edx, 4
jmp 0x4113cd
mov edx, 3
jmp 0x4113cd
mov edx, 0xe
jmp 0x4113cd
mov edx, 0xd
jmp 0x4113cd
mov edx, 0xc
jmp 0x4113cd
mov edx, 0xb
jmp 0x4113cd
mov edx, 0xa
jmp 0x4113cd
mov edx, 9
jmp 0x4113cd
mov edx, 8
jmp 0x4113cd
mov edx, 7
jmp 0x4113cd