Function at 0x18000b770
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, r9
mov rbx, r8
mov rdi, rdx
mov r14, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call sub.kernel32.dll_GetSystemInfo
mov ecx, dword [rsp + 0x34]
test rcx, rcx
je 0x18000b81d
mov rax, rdi
shr rax, 0x20
je 0x18000b7c3
mov rax, rdi
xor edx, edx
div rcx
jmp 0x18000b7c9
mov eax, edi
xor edx, edx
div ecx
lea r12, [rcx + rdi]
sub r12, rdx
test rdx, rdx
cmove r12, rdi
test r12, r12
cmove r12, rcx
test rsi, rsi
je 0x18000b811
shl rsi, 4
add rsi, rbx
xor r15d, r15d
mov ecx, dword [rbx]
mov rdx, qword [rbx + 8]
lea rax, [0x18000ba18]
movsxd rdi, dword [rax + rcx*4]
add rdi, rax
xor r10d, r10d
xor r13d, r13d
xor r11d, r11d
xor ecx, ecx
xor r9d, r9d
jmp rdi
mov al, 1
xor r15d, r15d
xor r10d, r10d
xor ecx, ecx
jmp 0x18000b837
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zeroVirtualFree_failed:__n
lea r8, [0x180065610]
mov edx, 0x39
call fcn.18005de40
ud2
test al, al
je 0x18000b935
mov r9d, 1
cmp r10, 1
je 0x18000b935
test r15, r15
je 0x18000b861
mov dword [r14 + 8], 8
jmp 0x18000b9fd
mov rdx, r12
mov r8d, 0x3000
call sub.kernel32.dll_VirtualAlloc
test rax, rax
je 0x18000b880
mov qword [r14], 1
jmp 0x18000b9e2
call sub.kernel32.dll_GetLastError
mov dword [r14 + 8], 0xa
jmp 0x18000b9f9
mov r9b, 1
nop word cs:[rax + rax]
add rbx, 0x10
cmp rbx, rsi
je case.default.0x18000b8b6
mov edi, dword [rbx]
mov rdx, qword [rbx + 8]
movsxd rdi, dword [rax + rdi*4]
add rdi, rax
jmp rdi
mov r11b, 1
jmp case.0x18000b8b6.10
mov r13b, 1
jmp case.0x18000b8b6.10
mov rcx, rdx
jmp case.0x18000b8b6.10
mov r10d, 1
mov r8, rdx
jmp case.0x18000b8b6.10
mov r15, rdx
jmp case.0x18000b8b6.10
test r11b, 1
sete al
test r13b, 1
jne 0x18000b919
test r9b, 1
je 0x18000b837
mov eax, r11d
and al, 1
movzx eax, al
lea r9d, [rax + rax]
add r9d, 2
cmp r10, 1
jne 0x18000b84f
xor eax, eax
test r11b, 1
sete al
lea esi, [rax + rax]
add esi, 2
jmp 0x18000b96c
test r9b, 1
jne 0x18000b942
test r11b, 1
jne 0x18000b935
mov r9d, 0x10
cmp r10, 1
jne 0x18000b84f
mov dword [r14 + 8], 7
jmp 0x18000b9fd
mov eax, r11d
and al, 1
movzx r9d, al
shl r9d, 5
add r9d, 0x20
cmp r10, 1
jne 0x18000b84f
xor eax, eax
test r11b, 1
sete al
lea esi, [rax + rax]
add esi, 0x22
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r8
xor edx, edx
mov r8d, r9d
xor r9d, r9d
call sub.kernel32.dll_CreateFileMappingW
mov rdi, rax
call sub.kernel32.dll_GetLastError
test rdi, rdi
je 0x18000b9ab
cmp eax, 0xb7
jne 0x18000b9b5
mov dword [r14 + 8], 9
jmp 0x18000b9fd
mov dword [r14 + 8], 0xb
jmp 0x18000b9f9
mov r8, r12
shr r8, 0x20
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov edx, esi
mov r9d, r15d
call sub.kernel32.dll_MapViewOfFile
test rax, rax
je 0x18000b9ec
mov qword [r14], 0
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], r12
jmp 0x18000ba04
call sub.kernel32.dll_GetLastError
mov dword [r14 + 8], 0xc
mov dword [r14 + 0xc], eax
mov qword [r14], 2
mov rax, r14
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret