Function at 0x164cb5700
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [0x164cf5010]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, qword [rbp + 0x48]
lea r8, [rbp - 0x44]
mov r12, qword [rbp + 0x50]
mov r9d, 2
mov r13, qword [rbp + 0x58]
xor edx, edx
mov rdi, qword [rbp + 0x60]
mov rcx, r14
mov r15, qword [r14 + 0x50]
mov rbx, r15
mov qword [rbp - 0x18], r12
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb588f
mov eax, 0x5a4d
cmp word [rbp - 0x44], ax
jne 0x164cb588f
mov r9d, 4
lea r8, [rbp - 0x38]
mov rcx, r14
lea edx, [r9 + 0x38]
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb588f
mov edx, dword [rbp - 0x38]
lea r8, [rbp - 0x34]
mov r9d, 4
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb588f
cmp dword [rbp - 0x34], 0x4550
jne 0x164cb588f
lea r8, [rbp - 0x40]
mov qword [rbp - 0x40], 0x14
lea rdx, [rbp - 0x30]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::read_void____ptr64__unsigned_long_long_unsigned___int64_____ptr64____ptr64
test al, al
je 0x164cb588f
cmp qword [rbp - 0x40], 0x14
je 0x164cb57fa
mov dword [r14 + 0x80], 0x1e
jmp 0x164cb588f
mov ecx, dword [rbp - 0x38]
mov edx, 0x8664
movzx eax, word [rbp - 0x30]
add ecx, 0x98
cmp ax, dx
je 0x164cb582f
mov edx, 0x200
cmp ax, dx
je 0x164cb582f
mov edx, 0x284
cmp ax, dx
je 0x164cb582f
mov edx, 0xaa64
cmp ax, dx
jne 0x164cb5832
add ecx, 0x10
mov edx, ecx
lea r8, [rbp - 0x40]
mov rcx, r14
mov r9d, 4
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb588f
mov eax, dword [rbp - 0x40]
test eax, eax
je 0x164cb588f
mov ebx, eax
cmp rax, 7
jbe 0x164cb588f
mov esi, 7
nop
lea r12, [rbx - 1]
mov r9d, 1
mov rdx, r12
lea r8, [rbp - 0x48]
mov rcx, r14
dec esi
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5887
cmp byte [rbp - 0x48], 0
cmove rbx, r12
test esi, esi
jne 0x164cb5860
mov r12, qword [rbp - 0x18]
cmp r15, 0x48
jl 0x164cb5909
lea rsi, [r15 - 8]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb58d7
movabs rax, 0x4233676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb58d7
test rdi, rdi
je 0x164cb58cd
mov dword [rdi], 7
mov ebx, 0x40
jmp 0x164cb5b3b
cmp rbx, r15
je 0x164cb5909
lea rsi, [rbx - 8]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5909
movabs rax, 0x4233676953575341
cmp qword [rbp - 0x18], rax
je 0x164cb58c2
cmp r15, 0xc0
jl 0x164cb5976
lea rsi, [r15 - 0x80]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb593f
movabs rax, 0x4233676953575341
cmp qword [rbp - 0x18], rax
je 0x164cb58c2
cmp rbx, r15
je 0x164cb5980
lea rsi, [rbx - 0x80]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5980
movabs rax, 0x4233676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb5980
jmp 0x164cb58c2
cmp r15, 0x48
jl 0x164cb5a11
lea rsi, [r15 - 8]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb59c6
movabs rax, 0x4232676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb59c6
test rdi, rdi
je 0x164cb58cd
mov dword [rdi], 5
mov ebx, 0x40
jmp 0x164cb5b3b
cmp rbx, r15
je 0x164cb5a11
lea rsi, [rbx - 8]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5a11
movabs rax, 0x4232676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb5a11
test rdi, rdi
je 0x164cb58cd
mov dword [rdi], 5
mov ebx, 0x40
jmp 0x164cb5b3b
cmp r15, 0x78
jl 0x164cb5aac
lea rsi, [r15 - 0x38]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5a61
movabs rax, 0x4232676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb5a61
test rdi, rdi
je 0x164cb58cd
mov dword [rdi], 5
mov ebx, 0x40
jmp 0x164cb5b3b
cmp rbx, r15
je 0x164cb5ab6
lea rsi, [rbx - 0x38]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5ab6
movabs rax, 0x4232676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb5ab6
test rdi, rdi
je 0x164cb58cd
mov dword [rdi], 5
mov ebx, 0x40
jmp 0x164cb5b3b
cmp r15, 0x30
jl 0x164cb5b8e
lea rsi, [r15 - 8]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
movabs rcx, 0x646e676953575341
test al, al
je 0x164cb5af5
cmp qword [rbp - 0x18], rcx
jne 0x164cb5af5
test rdi, rdi
je 0x164cb5aee
mov dword [rdi], 1
mov ebx, 0x28
jmp 0x164cb5b3b
cmp rbx, r15
je 0x164cb5b8e
lea rsi, [rbx - 8]
mov r9d, 8
mov rdx, rsi
lea r8, [rbp - 0x18]
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seekreadin_long_long___int64___void____ptr64__unsigned_long_long_unsigned___int64_____ptr64
test al, al
je 0x164cb5b8e
movabs rax, 0x646e676953575341
cmp qword [rbp - 0x18], rax
jne 0x164cb5b8e
mov ebx, 0x28
test rdi, rdi
je 0x164cb5b3b
mov dword [rdi], 1
sub rsi, rbx
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::seek_long_long___int64___int____ptr64
mov dil, 1
test r12, r12
je 0x164cb5b7f
lea r8, [rbp - 0x40]
mov qword [rbp - 0x40], rbx
mov rdx, r12
mov rcx, r14
call sym.aswCmnBS.dll_public:_bool___cdecl_asw::root::CGenericFile::read_void____ptr64__unsigned_long_long_unsigned___int64_____ptr64____ptr64
test al, al
je 0x164cb5b7c
cmp qword [rbp - 0x40], rbx
je 0x164cb5b7f
mov dword [r14 + 0x80], 0x1e
xor dil, dil
test r13, r13
je 0x164cb5b88
mov qword [r13], rsi
movzx eax, dil
jmp 0x164cb5b90
xor al, al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.164cd6f70
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret