Function at 0x1400f18b0
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, rdx
mov r15, rcx
mov al, 1
xchg byte [rcx + 0xc], al
test al, al
jne 0x1400f1aed
mov al, byte [r15 + 0xd]
test al, al
je 0x1400f1acf
cmp al, 2
je 0x1400f1ad4
mov r13, qword [r15]
test r13, r13
je 0x1400f1b1e
mov rdi, qword [r13]
cmp rdi, 0x800001
jae 0x1400f1b42
cmp rdi, 0xf
jbe 0x1400f1b66
mov rdx, qword [0x140d81498]
test rdx, rdx
jne 0x1400f1930
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x4c]
mov qword [0x140d81498], rdx
mov rcx, rdi
call method.__sanitizer.RoundUpTo_unsigned_long_long__unsigned_long_long_
mov rdi, rax
lock add qword [rsi + 8], 0x800000
mov edx, 0x800000
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1400f1bb1
mov r14, rax
mov al, byte [r13 + 8]
cmp al, 2
je 0x1400f1a0f
cmp al, 1
jne 0x1400f1bd7
mov rax, qword [r13]
lea r12, [r14 + 0x800000]
cmp rax, 9
je 0x1400f1bfb
mov r11, rdi
mov r10, rsi
lea rdx, [r13 + 9]
add rax, r13
xor r8d, r8d
mov r9, r14
xor edi, edi
nop word [rax + rax]
xor ebp, ebp
xor ecx, ecx
nop word cs:[rax + rax]
nop
cmp rdx, rax
je 0x1400f1a0a
movzx ebx, byte [rdx]
mov esi, ebx
and esi, 0x7f
shl rsi, cl
add rdx, 1
or rbp, rsi
add ecx, 7
test bl, bl
js 0x1400f19c0
mov rsi, 0xffffffffffffffff
shl rsi, cl
test bl, 0x40
cmove rsi, r8
cmp ecx, 0x40
cmovae rsi, r8
or rbp, rsi
add rdi, rbp
mov qword [r9], rdi
add r9, 8
cmp rdx, rax
jne 0x1400f19b0
jmp 0x1400f1a7e
mov rdx, rax
jmp 0x1400f19f9
lea rax, [r13 + 9]
mov rcx, qword [r13]
add rcx, r13
lea r12, [r14 + 0x800000]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x30]
mov r8, r14
call method.unsigned_long_long___sanitizer::LzwDecode_unsigned_long_long____sanitizer.SLeb128Decoder__unsigned_long_long____sanitizer::SLeb128Decoder____sanitizer::SLeb128Decoder__unsigned_long_long_
cmp rax, r12
je 0x1400f1a8d
mov qword [rsp + 0x20], r12
lea rcx, str.gotsan.cpp
lea r8, str.__to______to_end__
mov edx, 0x27e6
mov r9, rax
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
cmp r9, r12
mov rsi, r10
mov rdi, r11
jne 0x1400f1bfe
sub r12, r14
cmp r12, 0x800000
jne 0x1400f1b8a
lea r9, [rsp + 0x48]
mov edx, 0x800000
mov rcx, r14
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov qword [r15], r14
mov rax, rdi
neg rax
lock add qword [rsi + 8], rax
mov rcx, r13
mov rdx, rdi
call method.__sanitizer.UnmapOrDie_void__unsigned_long_long_
mov byte [r15 + 0xd], 2
mov rax, qword [r15]
mov byte [r15 + 0xc], 0
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor edi, edi
mov rbx, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1400f1afb
add edi, 1
cmp edi, 0x63
ja 0x1400f1b04
pause
jmp 0x1400f1b08
xor ecx, ecx
call rbx
cmp byte [r15 + 0xc], 0
jne 0x1400f1af8
mov al, 1
xchg byte [r15 + 0xc], al
test al, al
jne 0x1400f1af8
jmp 0x1400f18d3
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__nullptr_______ptr__
mov edx, 0x2807
xor r9d, r9d
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
mov qword [rsp + 0x20], 0x800000
lea rcx, str.gotsan.cpp
lea r8, str.__header__size_______kBlockSizeBytes__
mov edx, 0x2809
mov r9, rdi
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
mov qword [rsp + 0x20], 0x10
lea rcx, str.gotsan.cpp
lea r8, str.__header__size_______sizeof_PackedHeader___
mov edx, 0x280a
mov r9, rdi
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
sar r12, 3
mov qword [rsp + 0x20], r12
lea rcx, str.gotsan.cpp
lea r8, str.__kBlockSizeFrames______unpacked_end___unpacked__
mov r9d, 0x100000
mov edx, 0x2820
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.StackStoreUnpack
lea r8, str.allocate
mov ecx, 0x800000
mov r9d, eax
call method.__sanitizer.ReportMmapFailureAndDie_unsigned_long_long__char_const__char_const__unsigned_int__bool_
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__0___Unexpected_type_______0_
mov edx, 0x281c
xor r9d, r9d
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
mov r9, r14
mov qword [rsp + 0x20], r12
lea rcx, str.gotsan.cpp
lea r8, str.__to______to_end__
mov edx, 0x27d6
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
int3