Function at 0x14002d0c0
Capabilities:
Get system information on windows
Read file on windows
Read file via mapping

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov esi, r8d
mov r12, rdx
mov rdi, rcx
xor r13d, r13d
mov ebx, r13d
mov dword [r11 + 8], ebx
mov eax, dword [rcx]
test eax, eax
jne 0x14002d2b9
mov qword [rsp + 0x20], r13
lea r9, [r11 + 8]
mov r8d, esi
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14002d2ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x21
je 0x14002d134
cmp eax, 0x26
je 0x14002d2a5
mov ebx, 0xffffffff
jmp 0x14002d363
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r15, rax
mov qword [rsp + 0x58], rax
mov ebx, 0xffffffff
mov dword [rsp + 0xe0], ebx
test rax, rax
jne 0x14002d182
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3ee
je 0x14002d2a5
mov ebx, dword [rsp + 0xe0]
test r15, r15
je 0x14002d363
mov rcx, rdi
call fcn.14002d580
mov rbx, rax
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rdi
call fcn.14002d4a0
mov r14, rax
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14002d4a0
test esi, esi
je 0x14002d297
cmp rbx, r14
jge 0x14002d297
lfence
mov rdx, r14
sub rdx, rbx
cmp rdx, rsi
jge 0x14002d1d9
mov esi, r14d
sub esi, ebx
lea rcx, [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rsp + 0xa0]
mov rax, rbx
cqo
idiv rcx
mov qword [rsp + 0xf8], rdx
mov r8, rbx
sub r8, rdx
mov eax, esi
add rax, rdx
mov rcx, r8
sar rcx, 0x20
mov qword [rsp + 0x20], rax
mov r9d, r8d
mov r8d, ecx
mov edx, 4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r13, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14002d294
lfence
mov rdx, qword [rsp + 0xf8]
add rdx, rax
mov r8d, esi
mov rcx, r12
call fcn.14020d920
lfence
mov r8d, 1
mov edx, esi
mov rcx, rdi
call fcn.14002d4a0
mov dword [rsp + 0xe0], esi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
jmp 0x14002d294
xor r13d, r13d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp rbx, r14
jne 0x14002d2ad
mov ebx, r13d
jmp 0x14002d363
mov ebx, dword [rsp + 0xe0]
jmp 0x14002d363
cmp eax, 1
jne 0x14002d363
mov rax, qword [0x140308968]
mov ebx, 0xffffffff
test rax, rax
jne 0x14002d309
mov edx, ebx
mov rcx, qword [0x140308970]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rax, qword [0x140308d28]
mov qword [0x140308968], rax
mov rcx, qword [0x140308970]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rax, qword [0x140308968]
test rax, rax
je 0x14002d363
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x40], r13
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r12
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 8]
call qword [case.0x14004822f.0]
test eax, eax
je 0x14002d358
cmp dword [rsp + 0x68], 0xc0000011
cmove ebx, r13d
jmp 0x14002d363
mov rbx, qword [rsp + 0x70]
mov ecx, ebx
add qword [rdi + 0x10], rcx
mov eax, ebx
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret