Function at 0x1400f5860
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, 0x148
movaps xmmword [rsp + 0x130], xmm6
mov rsi, rcx
mov rax, qword [0x1401c6b58]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov qword [rsp + 0xe0], rdx
lea rcx, [rsp + 0xe0]
call fcn.140002ab0
mov rdi, qword [rsp + 0xe0]
mov rax, qword [0x1401ccb70]
test rax, rax
je 0x1400f58ca
mov rcx, qword [0x1401ccb78]
cmp rcx, rdi
jbe 0x1400f590c
jmp 0x1400f5a6c
movaps xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [0x1401ccb70], rax
mov qword [0x1401ccb78], rcx
cmp rcx, rdi
ja 0x1400f5a6c
cmp rax, rdi
jb 0x1400f5a6c
mov qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0xe0]
lea r8, [rsp + 0x40]
mov ecx, 4
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x1400f5940
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x1400f5a6c
mov r12, qword [sym.imp.KERNEL32.dll_GetLastError]
call r12
mov ebx, eax
call fcn.140059c20
mov rbp, qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, ebx
call rbp
call fcn.140059c20
call r12
mov ebx, eax
call fcn.140059c20
mov ecx, ebx
call rbp
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], r15
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
call fcn.140045130
movaps xmmword [rsp + 0x110], xmm6
mov dword [rsp + 0x10c], 0xaaaaaaaa
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf8], 0
lea rax, [0x140186f30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x110]
lea r8, [rsp + 0x10c]
lea r9, [rsp + 0x100]
call fcn.140067a10
test al, al
je 0x1400f5a74
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
lea r8, [rsp + 0x40]
call fcn.140049530
test al, al
je 0x1400f5a89
movzx eax, byte [rsp + 0x40]
test al, 1
jne 0x1400f5c8e
shr eax, 1
lea rcx, [rsp + 0x42]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
jmp 0x1400f5cb1
xor r15d, r15d
jmp 0x1400f5c5c
mov rbx, r12
xor r13d, r13d
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x30], rax
xor r12d, r12d
jmp 0x1400f5aad
mov rbx, r12
xor r13d, r13d
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x30], rax
xor r12d, r12d
test byte [rsp + 0x40], 1
je 0x1400f5aad
mov rcx, qword [rsp + 0x50]
call fcn.140148278
mov qword [rsp + 0xf0], r15
movaps xmmword [rsp + 0xe0], xmm6
call sub.KERNEL32.dll_GetCurrentProcess
lea r8, [rsp + 0xe0]
mov rcx, rax
mov rdx, rdi
mov r9d, 0x18
call sub.KERNEL32.dll_K32GetModuleInformation
test eax, eax
je 0x1400f5b8a
mov qword [rsp + 0x38], rsi
mov ecx, 0x58
call fcn.140148228
mov r15, rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rax
call fcn.140059c20
call rbx
mov rsi, rbp
mov ebp, eax
call fcn.140059c20
mov ecx, ebp
call rsi
lea rax, [0x14019e350]
mov qword [r15], rax
mov qword [r15 + 8], 0
call fcn.140059c20
call rbx
mov ebp, eax
mov qword [r15 + 8], rdi
call fcn.140059c20
mov ecx, ebp
call rsi
mov rax, qword [rsp + 0x50]
mov qword [r15 + 0x20], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [r15 + 0x10], xmm0
mov ebp, r12d
and bpl, 1
jne 0x1400f5ba7
movzx eax, r12b
or r13, rax
mov qword [r15 + 0x28], r13
mov qword [r15 + 0x30], r14
mov rbx, qword [rsp + 0x30]
mov qword [r15 + 0x38], rbx
mov rsi, qword [rsp + 0x38]
jmp 0x1400f5c1f
and r12b, 1
xor r15d, r15d
mov ebp, r12d
mov rbx, qword [rsp + 0x30]
test bpl, bpl
jne 0x1400f5c37
jmp 0x1400f5c3f
cmp r14, 0x16
mov rsi, qword [rsp + 0x38]
ja 0x1400f5bca
lea rcx, [r15 + 0x29]
lea eax, [r14 + r14]
mov byte [r15 + 0x28], al
mov rbx, qword [rsp + 0x30]
cmp rcx, rbx
jbe 0x1400f5c01
jmp 0x1400f5c11
cmp r14, 0xfffffffffffffff0
mov rbx, qword [rsp + 0x30]
jae 0x1400f5f6a
mov rdi, r14
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140148228
mov rcx, rax
mov qword [r15 + 0x38], rax
add rdi, 2
mov qword [r15 + 0x28], rdi
mov qword [r15 + 0x30], r14
cmp rcx, rbx
ja 0x1400f5c11
lea rax, [rcx + r14]
inc rax
cmp rax, rbx
ja 0x1400f5f3e
inc r14
mov rdx, rbx
mov r8, r14
call fcn.14014b1c0
mov rcx, r15
add rcx, 0x40
lea rdx, [rsp + 0x70]
call fcn.14005b350
xor edi, edi
test bpl, bpl
je 0x1400f5c3f
mov rcx, rbx
call fcn.140148278
lea rcx, [rsp + 0x70]
call fcn.14005b430
test rdi, rdi
je 0x1400f5c5c
call fcn.140059c20
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rsi], r15
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.140148650
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
test rax, rax
js 0x1400f5ee6
test rcx, rcx
jne 0x1400f5cbf
test rax, rax
jne 0x1400f5f12
lea rbx, [rsp + 0xc8]
lea rdx, [rsp + 0xb8]
mov rcx, rbx
call fcn.14005b380
lea r14, [rsp + 0xe0]
mov rcx, rbx
mov rdx, r14
call fcn.14005c180
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.14005b460
mov rcx, r14
call fcn.14005b430
mov rcx, rbx
call fcn.14005b430
mov qword [rsp + 0xf0], r15
movaps xmmword [rsp + 0xe0], xmm6
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x110]
call fcn.140097480
lea rax, [0x14019e348]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 3
movzx eax, byte [rsp + 0xe0]
test al, 1
jne 0x1400f5d6f
shr eax, 1
lea rcx, [rsp + 0xe2]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jmp 0x1400f5d98
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
test rax, rax
js 0x1400f5ee6
test rcx, rcx
jne 0x1400f5da6
test rax, rax
jne 0x1400f5f12
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0xa8]
lea rbx, [rsp + 0xe0]
mov r8, rbx
call fcn.14003b080
mov edx, dword [rsp + 0x10c]
lea rcx, [rsp + 0xc8]
call fcn.1400f51e0
movzx r8d, byte [rsp + 0xc8]
test r8b, 1
je 0x1400f5dfb
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
jmp 0x1400f5e06
shr r8d, 1
lea rdx, [rsp + 0xca]
mov rcx, rbx
call fcn.14002e8a2
test byte [rsp + 0xc8], 1
je 0x1400f5e25
mov rcx, qword [rsp + 0xd8]
call fcn.140148278
movzx eax, byte [rsp + 0xe0]
test al, 1
jne 0x1400f5e4d
shr eax, 1
lea rcx, [rsp + 0xe2]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
jmp 0x1400f5e72
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
test rax, rax
js 0x1400f5ee6
test rcx, rcx
jne 0x1400f5e80
test rax, rax
jne 0x1400f5f12
mov rbx, r12
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x88]
call fcn.140049a20
mov r12, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x30], rax
test byte [rsp + 0xe0], 1
je 0x1400f5ecc
mov rcx, qword [rsp + 0xf0]
call fcn.140148278
mov r13, r12
and r13, 0xffffffffffffff00
test byte [rsp + 0x40], 1
jne 0x1400f5aa3
jmp 0x1400f5aad
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str.E:_nw82_sdk_win64_node_webkit_srcoutst_nw...._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.140005c64
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str.E:_nw82_sdk_win64_node_webkit_srcoutst_nw...._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.140005c64
lea rax, str.char_traits::copy_overlapped_range
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str.E:_nw82_sdk_win64_node_webkit_srcoutst_nw...._third_partylibc_srcinclude__stringchar_traits.h
lea r9, str.__s2_____s1____s2_____s1____n
mov r8d, 0xf3
call fcn.140005c64
add r15, 0x28
mov rcx, r15
call fcn.140001c60
int3