Function at 0x140024ac0
Capabilities:
Get system information on windows
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x17]
sub rsp, 0xe0
mov rax, qword gs:[0x58]
mov rdi, rcx
mov ecx, 4
mov r14, r8
mov r12d, edx
mov r9, qword [rax]
mov eax, dword [rcx + r9]
cmp dword [0x140174f68], eax
jle 0x140024b2b
lea rcx, [0x140174f68]
call fcn.14013ebe8
cmp dword [0x140174f68], 0xffffffff
jne 0x140024b2b
call fcn.1400130b0
lea rcx, [0x140174f68]
mov dword [0x140174f6c], eax
call fcn.14013eb88
xor r13d, r13d
mov qword [rbp - 0x5d], 0xffff
mov ecx, r12d
mov qword [rbp - 0x79], r13
mov qword [rbp - 0x71], r13
mov qword [rbp - 0x69], r13
mov dword [rbp - 0x61], r13d
mov qword [rbp - 0x55], r13
mov dword [rbp - 0x4d], r13d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__get_osfhandle]
mov rdx, rax
lea r8, [rbp - 0x79]
lea rcx, [rsp + 0x40]
call fcn.140017e10
cmp dword [rsp + 0x40], r13d
je 0x140024b80
movups xmm0, xmmword [rsp + 0x40]
or byte [rdi + 0x10], 1
movups xmmword [rdi], xmm0
jmp 0x140024e00
mov eax, dword [rbp - 0x61]
cmp eax, 2
je 0x140024c17
cmp eax, 5
je 0x140024c17
mov r8, r14
lea rcx, [rbp - 0x79]
mov edx, r12d
call fcn.140024740
movzx ecx, byte [rdi + 0x10]
test byte [rax + 0x10], 1
jne 0x140024bbf
and cl, 0xfe
mov byte [rdi + 0x10], cl
mov rcx, qword [rax]
mov qword [rax], r13
mov qword [rdi], rcx
jmp 0x140024bf1
or cl, 1
mov byte [rdi + 0x10], cl
test byte [rax + 0x10], 1
je 0x140024bd5
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
jmp 0x140024be6
lea rax, [0x14016e048]
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x40]
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
test byte [rbp - 0x69], 1
jne 0x140024e00
mov rcx, qword [rbp - 0x79]
test rcx, rcx
je 0x140024e00
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x140024e00
mov eax, dword [rbp - 0x65]
mov ecx, r12d
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x118], rsi
mov esi, dword [rbp - 0x69]
shl rsi, 0x20
add rsi, rax
mov qword [rsp + 0x120], r15
mov r8, rsi
mov rdx, rsi
call fcn.1400249a0
test al, al
je 0x140024cf6
lea rax, [0x14016e048]
mov dword [rsp + 0x40], r13d
lea rdx, [rbp + 0x5f]
mov qword [rsp + 0x48], rax
mov ecx, 0x38
mov qword [rbp + 0x5f], r14
call fcn.140024340
mov rbx, rax
test rax, rax
je 0x140024d33
lea rax, [0x14014a060]
lea rcx, [rbp - 0x79]
mov qword [rbx], rax
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rcx, [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rax, [rsp + 0x40]
mov r9, rsi
mov qword [rsp + 0x28], rax
lea rcx, [rbx + 0x18]
mov edx, r12d
mov qword [rsp + 0x20], r13
call fcn.140018340
mov r15d, dword [rsp + 0x40]
test r15d, r15d
jne 0x140024ce9
lea rcx, [rbp - 0x19]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [rbx + 0x20]
mov qword [rbx + 8], rax
add rax, rsi
mov qword [rbx + 0x10], rax
test r15d, r15d
je 0x140024de1
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov r8, r14
lea rcx, [rbp + 0x5f]
mov rdx, rsi
call fcn.1400248a0
mov rbx, qword [rbp + 0x5f]
test rbx, rbx
jne 0x140024d3b
or byte [rdi + 0x10], 1
lea rax, [0x14016e058]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0xc
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
jmp 0x140024de8
mov rbx, r13
jmp 0x140024de1
mov r15, qword [rbx + 8]
xor r8d, r8d
xor edx, edx
mov ecx, r12d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__lseek]
cmp eax, 0xffffffff
jne 0x140024d85
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov edx, 1
mov ecx, dword [rax]
lea rax, [0x14016e058]
or byte [rdi + 0x10], 1
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], ecx
mov rcx, rbx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
mov rax, qword [rbx]
call qword [rax]
jmp 0x140024de8
test rsi, rsi
je 0x140024de1
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r8d, esi
mov rdx, r15
mov ecx, r12d
mov dword [rax], r13d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
movsxd r14, eax
cmp r14d, 0xffffffff
jne 0x140024dbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [rax], 4
je 0x140024d90
mov rax, r14
cmp r14, 0xffffffffffffffff
je 0x140024d52
test r14d, r14d
je 0x140024dd4
add r15, rax
sub rsi, rax
jne 0x140024d90
jmp 0x140024de1
mov r8, rsi
xor edx, edx
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
and byte [rdi + 0x10], 0xfe
mov qword [rdi], rbx
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
mov r15, qword [rsp + 0x120]
mov rax, rdi
add rsp, 0xe0
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret