Function at 0x410f40
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 0x411220
cmp rax, rdx
jae 0x410f8a
mov qword [rax + 8], 0
add rax, 0x10
mov qword [rax - 0x10], 0
cmp rdx, rax
ja 0x410f71
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 0x411241
lea rdx, [rbx + 0x100020]
cmp rax, rdx
jae 0x410fe9
nop
mov qword [rax + 8], 0
add rax, 0x10
mov qword [rax - 0x10], 0
cmp rdx, rax
ja 0x410fd0
lea rax, str.sync_allocator
mov qword [rbx + 0x100038], 0
mov qword [rbx + 0x100030], rax
lea rax, [0x0041d8a0]
mov qword [0x01e818c0], rax
lea rdx, [0x01e81930]
mov dword [rbx + 0x100024], 0
lea rax, [0x01e818d8]
mov qword [rbx + 0x100028], 0
mov qword [rbx + 0x100040], 0
mov dword [rbx + 0x100048], 0
mov dword [rbx + 0x10004c], 0
mov dword [0x01e818c8], 0x1fc0
mov dword [0x01e818cc], 0x40
mov dword [0x01e818d0], 0x3fffff
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x411070
mov ecx, dword [0x01e818c8]
lea rdx, str.ThreadRegistry
mov dword [0x01e81930], 0
mov qword [0x01e81938], 0
mov qword [0x01e81940], 0
mov qword [0x01e81948], 0
mov qword [0x01e81950], 0
shl rcx, 3
call fcn.0040d590
lea rdx, [rbx + 0x1800d0]
mov qword [rbx + 0x100070], 0
mov qword [0x01e81958], rax
lea rax, [0x01e818c0]
mov qword [rbx + 0x100068], rax
lea rax, [rbx + 0x1000d0]
mov qword [rbx + 0x1000a8], 0
test al, 0xf
mov qword [0x01e81970], 0
mov qword [0x01e81968], 0
mov qword [0x01e81960], 0
mov qword [0x01e81988], 0
mov qword [0x01e81980], 0
mov qword [0x01e81978], 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 0x411261
cmp rax, rdx
jae 0x411282
nop
mov qword [rax + 8], 0
add rax, 0x10
mov qword [rax - 0x10], 0
cmp rdx, rax
ja 0x4111c0
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 0x4112a5
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 0x410f8a
mov byte [rax], 0
add rax, 1
cmp rdx, rax
jne 0x411220
jmp 0x410f8a
lea rdx, [rbx + 0x100020]
nop dword [rax + rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x411250
jmp 0x410fe9
mov byte [rax], 0
add rax, 1
cmp rax, rdx
je 0x4111d9
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x411261
jmp 0x4111d9
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 0x411644
mov rax, qword [0x015c8778]
test rax, rax
je 0x411612
lea rdx, [rax - 1]
test rdx, rax
jne 0x411665
lea rdi, [rax + 0xbf]
neg rax
lea rdx, str.InternalMmapVector
and rdi, rax
mov rcx, rdi
call fcn.0040d590
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 0x4115eb
lea rdx, [rsi + 0x10]
cmp rcx, rdx
lea rdx, [rcx + 0x10]
setae r8b
cmp rsi, rdx
setae dl
or r8b, dl
je 0x41162d
cmp rax, 0x16
jbe 0x41162d
mov r8, rcx
neg r8
and r8d, 0xf
cmp r8, rax
cmova r8, rax
xor edx, edx
test r8, r8
je 0x41144d
movzx edx, byte [rcx]
cmp r8, 1
mov byte [rsi], dl
je 0x411674
movzx edx, byte [rcx + 1]
cmp r8, 2
mov byte [rsi + 1], dl
je 0x41166a
movzx edx, byte [rcx + 2]
cmp r8, 3
mov byte [rsi + 2], dl
je 0x41169c
movzx edx, byte [rcx + 3]
cmp r8, 4
mov byte [rsi + 3], dl
je 0x411692
movzx edx, byte [rcx + 4]
cmp r8, 5
mov byte [rsi + 4], dl
je 0x411688
movzx edx, byte [rcx + 5]
cmp r8, 6
mov byte [rsi + 5], dl
je 0x41167e
movzx edx, byte [rcx + 6]
cmp r8, 7
mov byte [rsi + 6], dl
je 0x4116ec
movzx edx, byte [rcx + 7]
cmp r8, 8
mov byte [rsi + 7], dl
je 0x4116e2
movzx edx, byte [rcx + 8]
cmp r8, 9
mov byte [rsi + 8], dl
je 0x4116d8
movzx edx, byte [rcx + 9]
cmp r8, 0xa
mov byte [rsi + 9], dl
je 0x4116ce
movzx edx, byte [rcx + 0xa]
cmp r8, 0xb
mov byte [rsi + 0xa], dl
je 0x4116c4
movzx edx, byte [rcx + 0xb]
cmp r8, 0xc
mov byte [rsi + 0xb], dl
je 0x4116ba
movzx edx, byte [rcx + 0xc]
cmp r8, 0xd
mov byte [rsi + 0xc], dl
je 0x4116b0
movzx edx, byte [rcx + 0xd]
cmp r8, 0xe
mov byte [rsi + 0xd], dl
je 0x4116a6
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 0x4114a5
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 0x411480
add rdx, rbp
cmp r11, rbp
je 0x4115e4
movzx r8d, byte [rcx + rdx]
mov byte [rsi + rdx], r8b
lea r8, [rdx + 1]
cmp r8, rax
jae 0x4115e4
movzx r8d, byte [rcx + rdx + 1]
mov byte [rsi + rdx + 1], r8b
lea r8, [rdx + 2]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 2]
mov byte [rsi + rdx + 2], r8b
lea r8, [rdx + 3]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 3]
mov byte [rsi + rdx + 3], r8b
lea r8, [rdx + 4]
cmp r8, rax
jae 0x4115e4
movzx r8d, byte [rcx + rdx + 4]
mov byte [rsi + rdx + 4], r8b
lea r8, [rdx + 5]
cmp r8, rax
jae 0x4115e4
movzx r8d, byte [rcx + rdx + 5]
mov byte [rsi + rdx + 5], r8b
lea r8, [rdx + 6]
cmp r8, rax
jae 0x4115e4
movzx r8d, byte [rcx + rdx + 6]
mov byte [rsi + rdx + 6], r8b
lea r8, [rdx + 7]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 7]
mov byte [rsi + rdx + 7], r8b
lea r8, [rdx + 8]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 8]
mov byte [rsi + rdx + 8], r8b
lea r8, [rdx + 9]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 9]
mov byte [rsi + rdx + 9], r8b
lea r8, [rdx + 0xa]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 0xa]
mov byte [rsi + rdx + 0xa], r8b
lea r8, [rdx + 0xb]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 0xb]
mov byte [rsi + rdx + 0xb], r8b
lea r8, [rdx + 0xc]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 0xc]
mov byte [rsi + rdx + 0xc], r8b
lea r8, [rdx + 0xd]
cmp rax, r8
jbe 0x4115e4
movzx r8d, byte [rcx + rdx + 0xd]
mov byte [rsi + rdx + 0xd], r8b
lea r8, [rdx + 0xe]
cmp rax, r8
jbe 0x4115e4
movzx eax, byte [rcx + rdx + 0xe]
mov byte [rsi + rdx + 0xe], al
mov rcx, qword [rbx + 0x1000b0]
mov rdx, qword [rbx + 0x1000b8]
call fcn.0040e7f0
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 [0x015c8778], rax
jmp 0x4112c6
xor edx, edx
nop
movzx r8d, byte [rcx + rdx]
mov byte [rsi + rdx], r8b
add rdx, 1
cmp rdx, rax
jne 0x411630
jmp 0x4115e4
mov qword [rsp + 0x20], 8
lea r8, str.__size________new_capacity__
mov edx, 0x226
lea rcx, str....._sanitizer_common_sanitizer_common.h
call fcn.00406990
call fcn.0040b4c0
mov edx, 2
jmp 0x41144d
mov edx, 1
jmp 0x41144d
mov edx, 6
jmp 0x41144d
mov edx, 5
jmp 0x41144d
mov edx, 4
jmp 0x41144d
mov edx, 3
jmp 0x41144d
mov edx, 0xe
jmp 0x41144d
mov edx, 0xd
jmp 0x41144d
mov edx, 0xc
jmp 0x41144d
mov edx, 0xb
jmp 0x41144d
mov edx, 0xa
jmp 0x41144d
mov edx, 9
jmp 0x41144d
mov edx, 8
jmp 0x41144d
mov edx, 7
jmp 0x41144d