Function at 0x140032a80
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov r13, r8
mov r14, rdx
xor edi, edi
mov dword [rsp + 0x20], edi
lea rbx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x20], rbx
lea r12, vtable.CVolObject.0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
lea rax, vtable.CWString.0
mov qword [rbp - 0x20], rax
lea rax, [rbp]
mov qword [rbp + 0xa8], rax
mov qword [rbp], rbx
mov qword [rbp], r12
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
lea r15, vtable.CVolMem.0
mov qword [rbp], r15
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x20], rdi
mov esi, 0x40
mov qword [rbp + 0x30], rsi
mov qword [rbp - 8], rdi
mov qword [rbp + 0x30], 0xfe
lea rcx, [rbp + 0x40]
call fcn.140025840
nop
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rsi
mov r15d, 1
mov dword [rsp + 0x20], r15d
mov rcx, qword [r14 + 0x18]
test rcx, rcx
jne 0x140032b84
cmp qword [r14 + 0x48], rcx
je 0x140032cd6
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x140032cd6
cmp word [rcx], 0
je 0x140032cd6
lea rdx, [0x14006a3f4]
call fcn.14004a4ec
mov rsi, rax
test rax, rax
je 0x140032cb0
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rax
call fcn.1400476c4
mov rcx, rsi
call fcn.14004af1c
movsxd rdi, eax
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.1400476c4
test rdi, rdi
jle 0x140032ca6
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140032c30
cmp rdi, qword [rsp + 0x50]
je 0x140032c70
mov rbx, qword [rsp + 0x58]
test rbx, rbx
mov eax, 0x40
cmovle rbx, rax
mov rax, qword [rsp + 0x48]
cmp rax, rdi
jl 0x140032c0d
sub rax, rdi
cmp rax, rbx
jle 0x140032c6b
mov rax, rdi
cqo
idiv rbx
sub rbx, rdx
add rbx, rdi
mov r8, rbx
mov rdx, rcx
lea rcx, [rsp + 0x28]
mov rax, qword [rsp + 0x28]
call qword [rax + 0x10]
jmp 0x140032c5e
mov rbx, qword [rsp + 0x58]
test rbx, rbx
mov eax, 0x40
cmovle rbx, rax
mov rax, rdi
cqo
idiv rbx
sub rbx, rdx
add rbx, rdi
mov rdx, rbx
lea rcx, [rsp + 0x28]
mov rax, qword [rsp + 0x28]
call qword [rax]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
mov rcx, rax
mov qword [rsp + 0x50], rdi
mov r9, rsi
mov r8, rdi
mov rdx, r15
call fcn.14004a93c
mov rbx, rax
mov rcx, rsi
call fcn.14004b06c
test eax, eax
jne 0x140032ca6
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140038240
mov rcx, rsi
call fcn.140046ec8
xor edi, edi
jmp 0x140032cd6
mov rcx, rsi
call fcn.140046ec8
xor edi, edi
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x140032cc7
lea rcx, [rsp + 0x28]
mov rax, qword [rsp + 0x28]
call qword [rax + 0x18]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rdi
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x80]
call fcn.140027560
mov rbx, rax
lea rcx, [rbp - 0x20]
mov rax, qword [rbp - 0x20]
call qword [rax + 0x88]
mov rax, qword [rbx + 8]
mov qword [rbp - 0x18], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x10], rax
mov rax, qword [rbx + 0x18]
mov qword [rbp - 8], rax
lea rcx, [rbp]
mov rax, qword [rbp]
call qword [rax + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp]
call fcn.140001d40
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0xa0], rax
lea rbx, vtable.CVolMem.0
mov qword [rbp - 0x60], rbx
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x140032d53
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r12
mov eax, r15d
and eax, 0xfffffffe
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], rbx
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x140032d8d
lea rcx, [rsp + 0x28]
mov rax, qword [rsp + 0x28]
call qword [rax + 0x18]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x28], r12
mov r9, qword [r13 + 0x18]
test r9, r9
jne 0x140032dbb
cmp qword [r13 + 0x48], r9
lea r9, [0x1400686d0]
je 0x140032dbb
mov r9, qword [r13 + 0x38]
mov rbx, 0xffffffffffffffff
mov r12, qword [rbp + 0x18]
mov r15, qword [rbp + 0x28]
mov rsi, qword [rbp - 8]
test rsi, rsi
je 0x140032ded
mov r11, rsi
mov r10, rbx
nop dword [rax]
inc r10
cmp word [rsi + r10*2], 0
jne 0x140032de0
jmp 0x140032e0a
test r15, r15
jne 0x140032dfe
lea r11, [0x1400686d0]
mov r10, rdi
jmp 0x140032e13
mov r11, r12
mov r10, r15
shr r10, 1
dec r10
test r10, r10
js 0x140032ec5
test r9, r9
je 0x140032ec2
cmp word [r9], 0
je 0x140032ec2
test r10, r10
je 0x140032ec5
mov r8, rbx
inc r8
cmp word [r9 + r8*2], 0
jne 0x140032e33
test r8, r8
jns 0x140032e5e
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [r9 + r8*2], 0
jne 0x140032e50
test r8, r8
jle 0x140032ec5
sub r10, r8
inc r10
test r10, r10
jle 0x140032ec5
sub r9, r11
nop
mov rcx, r11
xor edx, edx
cmp rdx, r8
je 0x140032e9f
movzx eax, word [r9 + rcx]
cmp word [rcx], ax
jne 0x140032e8d
inc rdx
add rcx, 2
jmp 0x140032e75
inc rdi
add r11, 2
sub r9, 2
cmp rdi, r10
jl 0x140032e70
jmp 0x140032ec5
test r11, r11
je 0x140032ec5
test rsi, rsi
jne 0x140032eb7
lea rsi, [0x1400686d0]
test r15, r15
cmovne rsi, r12
mov rbx, r11
sub rbx, rsi
sar rbx, 1
jmp 0x140032ec5
mov rbx, rdi
cmp ebx, 0xffffffff
jne 0x140033140
mov rdx, r14
lea rcx, [rbp - 0x80]
call fcn.140025650
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x140032ef5
cmp qword [rax + 0x48], rcx
lea rcx, [0x1400686d0]
je 0x140032ef5
mov rcx, qword [rax + 0x38]
call fcn.140037000
mov rbx, rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0xa0], rax
lea r15, vtable.CVolMem.0
mov qword [rbp - 0x60], r15
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x140032f27
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rdi
lea rsi, vtable.CVolObject.0
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
test ebx, ebx
jne 0x140032fac
mov rdx, r14
lea rcx, [rbp - 0x80]
call fcn.140025650
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x140032f6f
cmp qword [rax + 0x48], rcx
lea rcx, [0x1400686d0]
je 0x140032f6f
mov rcx, qword [rax + 0x38]
call fcn.140036ac0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0xa0], rax
mov qword [rbp - 0x60], r15
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x140032f98
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
lea r8, [0x1400686c8]
lea rcx, [rsp + 0x28]
cmp dword [rbp + 0xb8], 0
je 0x140033084
mov rdx, r13
call fcn.14003ad60
nop
lea r8, [rbp - 0x20]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14003abb0
nop
mov rdx, qword [r14 + 0x18]
test rdx, rdx
jne 0x140032ff9
cmp qword [r14 + 0x48], rdx
lea rdx, [0x1400686d0]
je 0x140032ff9
mov rdx, qword [r14 + 0x38]
mov rcx, rax
call fcn.14003a8a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0xa0], rax
mov qword [rbp - 0x60], r15
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x140033025
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
lea rax, [rsp + 0x48]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x48], r15
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140033061
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x48]
call qword [rax + 0x18]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x28], rsi
mov ebx, 1
jmp 0x140033152
lea rdx, [rbp - 0x20]
call fcn.14003ad60
nop
mov r8, r13
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14003abb0
nop
mov rdx, qword [r14 + 0x18]
test rdx, rdx
jne 0x1400330b8
cmp qword [r14 + 0x48], rdx
lea rdx, [0x1400686d0]
je 0x1400330b8
mov rdx, qword [r14 + 0x38]
mov rcx, rax
call fcn.14003a8a0
nop
lea rax, [rbp - 0x60]
mov qword [rbp + 0xa0], rax
mov qword [rbp - 0x60], r15
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x1400330e4
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
lea rax, [rsp + 0x48]
mov qword [rbp + 0xa0], rax
mov qword [rsp + 0x48], r15
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140033120
lea rcx, [rsp + 0x48]
mov rax, qword [rsp + 0x48]
call qword [rax + 0x18]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x28], rsi
mov ebx, 1
jmp 0x140033152
xor edi, edi
mov ebx, edi
lea rsi, vtable.CVolObject.0
lea r15, vtable.CVolMem.0
lea rax, vtable.CVolRefObject.0
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x14003316d
mov rax, qword [rcx]
call qword [rax + 0x40]
nop
mov qword [rbp + 0x40], rsi
lea rax, [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], r15
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x140033195
lea rcx, [rbp]
mov r8, qword [rbp]
call qword [r8 + 0x18]
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x20], rdi
mov qword [rbp], rsi
mov qword [rbp - 0x20], rsi
mov eax, ebx
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret