Function at 0x180011de0
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 0x180011e8d
mov rax, rdi
shr rax, 0x20
je 0x180011e33
mov rax, rdi
xor edx, edx
div rcx
jmp 0x180011e39
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 0x180011e81
shl rsi, 4
add rsi, rbx
xor r15d, r15d
mov ecx, dword [rbx]
mov rdx, qword [rbx + 8]
lea rax, [0x180012088]
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 0x180011ea7
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zeroVirtualFree_failed:__n
lea r8, [0x18009e848]
mov edx, 0x39
call fcn.180096350
ud2
test al, al
je 0x180011fa5
mov r9d, 1
cmp r10, 1
je 0x180011fa5
test r15, r15
je 0x180011ed1
mov dword [r14 + 8], 8
jmp 0x18001206d
mov rdx, r12
mov r8d, 0x3000
call sub.kernel32.dll_VirtualAlloc
test rax, rax
je 0x180011ef0
mov qword [r14], 1
jmp 0x180012052
call sub.kernel32.dll_GetLastError
mov dword [r14 + 8], 0xa
jmp 0x180012069
mov r9b, 1
nop word cs:[rax + rax]
add rbx, 0x10
cmp rbx, rsi
je case.default.0x180011f26
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.0x180011f26.10
mov r13b, 1
jmp case.0x180011f26.10
mov rcx, rdx
jmp case.0x180011f26.10
mov r10d, 1
mov r8, rdx
jmp case.0x180011f26.10
mov r15, rdx
jmp case.0x180011f26.10
test r11b, 1
sete al
test r13b, 1
jne 0x180011f89
test r9b, 1
je 0x180011ea7
mov eax, r11d
and al, 1
movzx eax, al
lea r9d, [rax + rax]
add r9d, 2
cmp r10, 1
jne 0x180011ebf
xor eax, eax
test r11b, 1
sete al
lea esi, [rax + rax]
add esi, 2
jmp 0x180011fdc
test r9b, 1
jne 0x180011fb2
test r11b, 1
jne 0x180011fa5
mov r9d, 0x10
cmp r10, 1
jne 0x180011ebf
mov dword [r14 + 8], 7
jmp 0x18001206d
mov eax, r11d
and al, 1
movzx r9d, al
shl r9d, 5
add r9d, 0x20
cmp r10, 1
jne 0x180011ebf
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 0x18001201b
cmp eax, 0xb7
jne 0x180012025
mov dword [r14 + 8], 9
jmp 0x18001206d
mov dword [r14 + 8], 0xb
jmp 0x180012069
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 0x18001205c
mov qword [r14], 0
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], r12
jmp 0x180012074
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