Function at 0x18000b250
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0xa0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r12, rcx
xor r13d, r13d
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x50], r13
mov r8, qword [0x1800d3668]
mov rcx, qword [0x1800d3670]
cmp r8, rcx
je 0x18000b2c6
mov rdx, rcx
call fcn.18000c8d0
mov rbx, rax
mov rdx, qword [0x1800d3670]
mov rcx, rax
call fcn.18000cc90
mov qword [0x1800d3670], rbx
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [0x1800d3610]
call fcn.180004e20
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [0x1800d3638]
call fcn.180004e20
nop
cmp qword [r12 + 0x18], 8
jb 0x18000b2f9
mov rcx, qword [r12]
jmp 0x18000b2fc
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 + 0x68], rax
cmp rax, 0xffffffffffffffff
jne 0x18000b338
xor al, al
jmp 0x18000b692
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov rcx, rbx
test eax, eax
jns 0x18000b360
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18000b692
jne 0x18000b36f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x18000b692
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov r8d, 5
lea rdx, [rsp + 0x88]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b683
cmp dword [rsp + 0x40], 5
jne 0x18000b683
lea rax, [rsp + 0x88]
lea rcx, str.PMC
mov edx, dword [rax]
cmp edx, dword [rcx]
jne 0x18000b3d4
movzx edx, byte [rax + 4]
cmp dl, byte [rcx + 4]
jne 0x18000b3d4
mov eax, r13d
jmp 0x18000b3d9
sbb eax, eax
sbb eax, 0xffffffff
mov rcx, rbx
test eax, eax
je 0x18000b3ed
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18000b692
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov r8d, 8
lea rdx, [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b676
cmp dword [rsp + 0x40], 8
jne 0x18000b676
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov r8d, 2
lea rdx, [rsp + 0x44]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b669
cmp dword [rsp + 0x40], 2
jne 0x18000b669
movzx eax, word [rsp + 0x44]
test ax, ax
jle 0x18000b669
movsx rcx, ax
call fcn.180078408
mov rdi, rax
mov qword [rsp + 0x60], rax
movsx r8d, word [rsp + 0x44]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b654
movsx eax, word [rsp + 0x44]
cmp eax, dword [rsp + 0x40]
jne 0x18000b654
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov r8d, 4
lea rdx, [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b63f
cmp dword [rsp + 0x40], 4
jne 0x18000b63f
cmp dword [rsp + 0x58], 1
jne 0x18000b63f
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov r8d, 4
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b62a
cmp dword [rsp + 0x40], 4
jne 0x18000b62a
movsxd rax, dword [rsp + 0x48]
test eax, eax
js 0x18000b62a
jle 0x18000b60c
mov rcx, rax
call fcn.180078408
mov rsi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18000b5ec
mov edx, dword [rsp + 0x48]
cmp dword [rsp + 0x40], edx
jne 0x18000b5ec
lea rax, vtable.piy::CDesEnc.0
mov qword [rsp + 0x80], rax
movsx eax, word [rsp + 0x44]
mov r8d, edx
and r8d, 0xfffffff8
je 0x18000b5bc
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov r9, rdi
mov rdx, rsi
mov rcx, rsi
call fcn.18002fe00
test al, al
jne 0x18000b5b8
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 0x18000b692
mov edx, dword [rsp + 0x48]
mov rcx, rsi
call fcn.18000ace0
mov rcx, rsi
test al, al
jne 0x18000b5e0
call fcn.18007b7a8
mov rcx, rdi
call fcn.18007b7a8
nop
xor al, al
jmp 0x18000b692
call fcn.18007b7a8
mov qword [rsp + 0x50], r13
jmp 0x18000b60c
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 0x18000b692
mov rcx, rdi
call fcn.18007b7a8
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
call fcn.18000b130
mov al, 1
jmp 0x18000b692
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
xor al, al
jmp 0x18000b692
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
xor al, al
jmp 0x18000b692
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call fcn.18007b7a8
xor al, al
jmp 0x18000b692
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18000b692
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18000b692
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x18000b692
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.18007a7c0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret