Function at 0x140024290
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0x80
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov r12, rcx
xor r13d, r13d
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r13
lea rcx, [0x140088ef0]
call fcn.140024b60
mov rdx, qword [0x140088f18]
mov rdx, qword [rdx + 8]
lea rcx, [0x140088f10]
call fcn.140003ac0
mov r11, qword [0x140088f18]
mov qword [r11 + 8], r11
mov rax, qword [0x140088f18]
mov qword [rax], rax
mov rax, qword [0x140088f18]
mov qword [rax + 0x10], rax
mov qword [0x140088f20], r13
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [0x140088ea0]
call fcn.140002d10
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [0x140088ec8]
call fcn.140002d10
nop
cmp qword [r12 + 0x18], 8
jb 0x140024335
mov rcx, qword [r12]
jmp 0x140024338
mov rcx, r12
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x140024374
xor al, al
jmp 0x1400246fc
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
jns 0x14002439c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400246fc
jne 0x1400243b6
mov rcx, r12
call fcn.140024020
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x1400246fc
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, 4
lea rdx, [rsp + 0xc8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400246ed
cmp dword [rsp + 0xb8], 4
jne 0x1400246ed
mov eax, dword [rsp + 0xc8]
mov rcx, rbx
cmp eax, dword [str.PS]
je 0x140024420
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400246fc
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, 8
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400246e0
cmp dword [rsp + 0xb8], 8
jne 0x1400246e0
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, 2
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400246d3
cmp dword [rsp + 0xb8], 2
jne 0x1400246d3
movzx eax, word [rsp + 0xb0]
test ax, ax
jle 0x1400246d3
movsx rcx, ax
call fcn.140033654
mov rdi, rax
mov qword [rsp + 0x50], rax
movsx r8d, word [rsp + 0xb0]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400246be
movsx eax, word [rsp + 0xb0]
cmp eax, dword [rsp + 0xb8]
jne 0x1400246be
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, 4
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400246a9
cmp dword [rsp + 0xb8], 4
jne 0x1400246a9
cmp dword [rsp + 0x40], 1
jne 0x1400246a9
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, 4
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140024694
cmp dword [rsp + 0xb8], 4
jne 0x140024694
mov eax, dword [rsp + 0xc0]
test eax, eax
je 0x140024676
mov ecx, eax
call fcn.140033654
mov rsi, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb8]
mov r8d, dword [rsp + 0xc0]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140024656
mov edx, dword [rsp + 0xc0]
cmp dword [rsp + 0xb8], edx
jne 0x140024656
lea rax, vtable.piy::CDesEnc.0
mov qword [rsp + 0x70], rax
movsx eax, word [rsp + 0xb0]
mov r8d, edx
and r8d, 0xfffffff8
je 0x140024626
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov r9, rdi
mov rdx, rsi
mov rcx, rsi
call fcn.140026430
test al, al
jne 0x14002461f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140034358
mov rcx, rsi
call fcn.140034358
nop
xor al, al
jmp 0x1400246fc
mov edx, dword [rsp + 0xc0]
mov rcx, rsi
call fcn.1400237e0
mov rcx, rsi
test al, al
jne 0x14002464a
call fcn.140034358
mov rcx, rdi
call fcn.140034358
nop
xor al, al
jmp 0x1400246fc
call fcn.140034358
mov qword [rsp + 0x48], r13
jmp 0x140024676
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140034358
mov rcx, rsi
call fcn.140034358
xor al, al
jmp 0x1400246fc
mov rcx, rdi
call fcn.140034358
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
call fcn.140024020
mov al, 1
jmp 0x1400246fc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140034358
xor al, al
jmp 0x1400246fc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140034358
xor al, al
jmp 0x1400246fc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.140034358
xor al, al
jmp 0x1400246fc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400246fc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400246fc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x1400246fc
add rsp, 0x80
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret