Function at 0x14009e799
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, 0xd8
mov rdi, rdx
mov r12, rcx
mov r14, qword [r8]
cmp qword [rdx], 0
je 0x14009e91d
mov qword [rsp + 0x40], r12
mov rsi, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
mov edi, 4
mov rcx, r14
mov edx, 4
call fcn.14018b4b1
mov ebx, eax
mov ebp, 0x20
mov rcx, r14
mov edx, 0x20
call fcn.14018b4b1
mov byte [rsp + 0x3f], al
movzx eax, al
mov r13d, eax
shl r13d, 5
test al, al
mov eax, 2
cmovne eax, ebp
lea ecx, [r13 + 4]
mov ebp, 0x40
cmove ebp, edi
or r13d, 6
test bl, bl
cmove ebp, eax
cmove r13d, ecx
xorps xmm0, xmm0
lea r12, [rsp + 0x90]
movaps xmmword [r12 + 0x20], xmm0
movaps xmmword [r12 + 0x10], xmm0
movaps xmmword [r12], xmm0
mov rcx, r12
call sub.kernel32.dll_GetSystemInfo
mov ecx, dword [r12 + 0x28]
test rcx, rcx
je 0x14009eae1
mov rax, r15
xor edx, edx
div rcx
mov r12, rdx
add r12, rsi
je 0x14009e946
mov rdi, rdx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
xor edx, edx
mov r8d, ebp
xor r9d, r9d
call sub.kernel32.dll_CreateFileMappingW
test rax, rax
je 0x14009ea99
mov rbp, rax
sub r15, rdi
mov r8, r15
shr r8, 0x20
mov qword [rsp + 0x20], r12
mov rcx, rax
mov edx, r13d
mov r9d, r15d
call sub.kernel32.dll_MapViewOfFile
mov r15, rax
mov rcx, rbp
call sub.kernel32.dll_CloseHandle
test r15, r15
je 0x14009ea99
lea r13, [rsp + 0x90]
mov qword [r13], 0
call sub.kernel32.dll_GetCurrentProcess
xor ecx, ecx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x30], 2
mov rcx, rax
mov rdx, r14
mov r8, rax
mov r9, r13
call sub.kernel32.dll_DuplicateHandle
test eax, eax
je 0x14009ea91
mov r13, qword [rsp + 0x90]
add r15, rdi
mov r14d, 1
jmp 0x14009e978
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, r14
call fcn.14022a340
cmp dword [rbx], 2
jne 0x14009ea62
mov rax, qword [rsp + 0x98]
jmp 0x14009ea78
xorps xmm0, xmm0
lea r14, [rsp + 0x90]
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
mov rcx, r14
call sub.kernel32.dll_GetSystemInfo
mov r15d, dword [r14 + 0x28]
cmp r15d, 1
adc r15d, 0
xor r14d, r14d
xor esi, esi
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rsi
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
or bl, byte [rsp + 0x3f]
cmp bl, 1
jne 0x14009ea29
xorps xmm0, xmm0
lea rcx, [rsp + 0x90]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [rsp + 0xb8]
cmp eax, 1
adc eax, 0
cmp r15, rax
je 0x14009ea29
xorps xmm0, xmm0
lea rcx, [rsp + 0x90]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.kernel32.dll_GetSystemInfo
mov ecx, dword [rsp + 0xb8]
test rcx, rcx
je 0x14009eaf9
mov rax, r15
xor edx, edx
div rcx
sub r15, rdx
add rdx, rsi
lea r9, [rsp + 0x90]
mov dword [r9], 0
mov rcx, r15
mov r8d, 2
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x14009eace
lea rax, [rsp + 0x58]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x80], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], r13
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rcx + 0x10], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x20], rax
jmp 0x14009eab7
mov rsi, qword [rsp + 0xc8]
mov r15, qword [rdi + 0x10]
sub rsi, r15
jae 0x14009ea87
call fcn.14018b3b4
mov qword [r12 + 8], rax
mov qword [r12], 2
jmp 0x14009eaba
mov qword [rsp + 0x40], r12
jmp 0x14009e7cc
mov rcx, r15
call sub.kernel32.dll_UnmapViewOfFile
call sub.kernel32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], rdi
mov r14d, 2
mov qword [rcx], r14
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.kernel32.dll_GetLastError
mov edi, eax
lea rcx, [rsp + 0x48]
call fcn.14018b4f0
jmp 0x14009eaa0
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_memmap2_0.9.4_src_windows.rs
mov edx, 0x39
call fcn.14007aaa0
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str._home_janus_.cargo_registry_src_index.crates.io_6f17d22bba15001f_memmap2_0.9.4_src_windows.rs
mov edx, 0x39
call fcn.14007aaa0
ud2