Function at 0x18002d880
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x88
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov r12, rdx
mov r13, rcx
xor r14d, r14d
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r14
add rcx, 0x50
call fcn.18002e470
mov rdx, qword [r13 + 0x78]
mov rdx, qword [rdx + 8]
lea rcx, [r13 + 0x70]
call fcn.180048b90
mov r11, qword [r13 + 0x78]
mov qword [r11 + 8], r11
mov rax, qword [r13 + 0x78]
mov qword [rax], rax
mov rax, qword [r13 + 0x78]
mov qword [rax + 0x10], rax
mov qword [r13 + 0x80], r14
or r8, 0xffffffffffffffff
xor edx, edx
mov rcx, r13
call fcn.180004e20
lea rcx, [r13 + 0x28]
or r8, 0xffffffffffffffff
xor edx, edx
call fcn.180004e20
nop
cmp qword [r12 + 0x18], 8
jb 0x18002d911
mov rcx, qword [r12]
jmp 0x18002d914
mov rcx, r12
mov qword [rsp + 0x30], r14
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 0x18002d950
xor al, al
jmp 0x18002dce4
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
test eax, eax
jns 0x18002d978
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18002dce4
jne 0x18002d995
mov rdx, r12
mov rcx, r13
call fcn.18002d470
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x18002dce4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov r8d, 4
lea rdx, [rsp + 0xd8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dcd5
cmp dword [rsp + 0xc8], 4
jne 0x18002dcd5
mov eax, dword [rsp + 0xd8]
mov rcx, rbx
cmp eax, dword [str.PS]
je 0x18002d9ff
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18002dce4
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov r8d, 8
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dcc8
cmp dword [rsp + 0xc8], 8
jne 0x18002dcc8
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov r8d, 2
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dcbb
cmp dword [rsp + 0xc8], 2
jne 0x18002dcbb
movzx eax, word [rsp + 0xc0]
test ax, ax
jle 0x18002dcbb
movsx rcx, ax
call fcn.180078408
mov rdi, rax
mov qword [rsp + 0x50], rax
movsx r8d, word [rsp + 0xc0]
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dca6
movsx eax, word [rsp + 0xc0]
cmp eax, dword [rsp + 0xc8]
jne 0x18002dca6
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov r8d, 4
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dc91
cmp dword [rsp + 0xc8], 4
jne 0x18002dc91
cmp dword [rsp + 0x40], 1
jne 0x18002dc91
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov r8d, 4
lea rdx, [rsp + 0xd0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dc7c
cmp dword [rsp + 0xc8], 4
jne 0x18002dc7c
mov eax, dword [rsp + 0xd0]
test eax, eax
je 0x18002dc5b
mov ecx, eax
call fcn.180078408
mov rsi, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xc8]
mov r8d, dword [rsp + 0xd0]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18002dc3b
mov eax, dword [rsp + 0xd0]
cmp dword [rsp + 0xc8], eax
jne 0x18002dc3b
lea rcx, vtable.piy::CDesEnc.0
mov qword [rsp + 0x70], rcx
movsx ecx, word [rsp + 0xc0]
mov r8d, eax
and r8d, 0xfffffff8
je 0x18002dc05
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ecx
mov r9, rdi
mov rdx, rsi
mov rcx, rsi
call fcn.18002fe00
test al, al
jne 0x18002dbfe
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
mov rcx, rsi
call fcn.18007b7a8
nop
xor al, al
jmp 0x18002dce4
mov eax, dword [rsp + 0xd0]
mov r8d, eax
mov rdx, rsi
mov rcx, r13
call fcn.18002cde0
mov rcx, rsi
test al, al
jne 0x18002dc2f
call fcn.18007b7a8
mov rcx, rdi
call fcn.18007b7a8
nop
xor al, al
jmp 0x18002dce4
call fcn.18007b7a8
mov qword [rsp + 0x48], r14
jmp 0x18002dc5b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
mov rcx, rsi
call fcn.18007b7a8
xor al, al
jmp 0x18002dce4
mov rcx, rdi
call fcn.18007b7a8
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, r12
mov rcx, r13
call fcn.18002d470
mov al, 1
jmp 0x18002dce4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
xor al, al
jmp 0x18002dce4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
xor al, al
jmp 0x18002dce4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
xor al, al
jmp 0x18002dce4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18002dce4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18002dce4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18002dce4
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret