Function at 0x1400298d0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov rdi, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rbp - 0x78], r12d
lea r15, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0xb0], r15
lea r13, vtable.CVolObject.0
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], r12
mov qword [rbp + 0xc0], r12
lea rcx, vtable.CWString.0
mov qword [rbp + 0xb0], rcx
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], r12
mov qword [rbp + 0xe0], r12
lea rsi, vtable.CVolMem.0
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0xf0], r12
mov edx, 0x40
mov qword [rbp + 0x100], rdx
mov qword [rbp + 0xc8], r12
mov qword [rbp + 0x100], 0xfe
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r12
mov qword [rbp], r12
lea rax, vtable.rg_n380::rg_n2529.0
mov qword [rbp - 0x10], rax
lea rax, vtable.rg_n380::rg_n2106.0
mov qword [rbp - 0x10], rax
lea rax, [rbp + 8]
mov qword [rbp + 0x4a0], rax
mov qword [rbp + 8], r15
lea rax, vtable.CMStringArray.0
mov qword [rbp + 8], rax
lea rax, [rbp + 0x10]
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x40], 0x100
mov qword [rbp + 0x110], r15
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], r12
mov qword [rbp + 0x120], r12
mov qword [rbp + 0x110], rcx
lea rax, [rbp + 0x130]
mov qword [rbp + 0x3d8], rax
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x130], r13
mov qword [rbp + 0x138], r12
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x130], rsi
mov qword [rbp + 0x148], r12
mov qword [rbp + 0x158], r12
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x128], r12
mov qword [rbp + 0x160], 0xfe
mov qword [rbp + 0x110], rcx
mov rbx, qword [rbp + 0x158]
cmp rbx, 2
jb 0x140029ac6
mov rax, qword [rbp + 0x148]
cmp word [rax + rbx - 2], r12w
jne 0x140029ac6
sub rbx, 2
mov qword [rbp + 0x158], rbx
lea rdx, [rbx + 6]
lea rcx, [rbp + 0x130]
call fcn.140038240
lea rcx, [rax + rbx]
mov eax, dword [0x1400686c8]
mov dword [rcx], eax
movzx eax, word [0x1400686cc]
mov word [rcx + 4], ax
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r12
lea rax, vtable.rg_n380::rg_n2529.0
mov qword [rbp - 0x70], rax
lea rax, vtable.rg_n380::rg_n2106.0
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x58]
mov qword [rbp + 0x498], rax
mov qword [rbp - 0x58], r15
lea rax, vtable.CMStringArray.0
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x50]
mov qword [rbp + 0x4a0], rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x30], r12
mov eax, 0x40
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x20], 0x100
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x60], rax
mov r15d, 1
mov dword [rbp - 0x78], r15d
mov rcx, qword [rdi + 0x18]
test rcx, rcx
jne 0x140029bc0
cmp qword [rdi + 0x48], rcx
je 0x140029d15
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x140029d15
cmp word [rcx], 0
je 0x140029d15
lea rdx, [0x14006a3f4]
call fcn.14004a4ec
mov rsi, rax
test rax, rax
je 0x140029ce8
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 0x140029ce0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140029c6c
cmp rdi, qword [rsp + 0x58]
je 0x140029cac
mov rbx, qword [rsp + 0x60]
test rbx, rbx
mov eax, 0x40
cmovle rbx, rax
mov rax, qword [rsp + 0x50]
cmp rax, rdi
jl 0x140029c49
sub rax, rdi
cmp rax, rbx
jle 0x140029ca7
mov rax, rdi
cqo
idiv rbx
sub rbx, rdx
add rbx, rdi
mov r8, rbx
mov rdx, rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
jmp 0x140029c9a
mov rbx, qword [rsp + 0x60]
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 + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rbx
mov rcx, rax
mov qword [rsp + 0x58], 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 0x140029ce0
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140038240
mov rcx, rsi
call fcn.140046ec8
jmp 0x140029d0e
mov rcx, rsi
call fcn.140046ec8
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x140029cff
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
lea rsi, vtable.CVolMem.0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x50]
call fcn.140027560
mov rbx, rax
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0xb0]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp + 0xb8], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp + 0xc0], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0xc8], rcx
lea rcx, [rbp + 0xd0]
mov rdx, qword [rbp + 0xd0]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0xd0]
call fcn.140001d40
nop
lea rax, [rbp + 0x70]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x70], rsi
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x140029da5
lea rcx, [rbp + 0x70]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x98], r12
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x50], r13
mov eax, r15d
and eax, 0xfffffffe
mov dword [rbp - 0x78], eax
mov qword [rsp + 0x30], rsi
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x140029de7
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x30], r13
lea rbx, [0x1400686d0]
mov r8, qword [rbp + 0x128]
test r8, r8
jne 0x140029e21
mov r8, rbx
cmp qword [rbp + 0x158], 0
cmovne r8, qword [rbp + 0x148]
mov rax, qword [rbp + 0xc8]
test rax, rax
jne 0x140029e40
mov rax, rbx
cmp qword [rbp + 0xf8], 0
cmovne rax, qword [rbp + 0xe8]
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.140036230
cmp eax, 0xa
jge 0x140029e61
mov r15d, r12d
jmp 0x14002a9f0
mov rdi, r12
movsxd rsi, eax
test eax, eax
jle 0x14002a9f0
lea rcx, vtable.CWConstString.0
lea rdx, [0x140068400]
nop dword [rax]
lea r9, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x170], r9
mov qword [rbp + 0x170], r13
mov qword [rbp + 0x178], r12
mov qword [rbp + 0x180], r12
lea r10, vtable.CWString.0
mov qword [rbp + 0x170], r10
lea rax, [rbp + 0x190]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x190], r9
mov qword [rbp + 0x190], r13
mov qword [rbp + 0x198], r12
mov qword [rbp + 0x1a0], r12
lea r8, vtable.CVolMem.0
mov qword [rbp + 0x190], r8
mov qword [rbp + 0x1a8], r12
mov qword [rbp + 0x1b8], r12
mov qword [rbp + 0x1b0], r12
mov r11d, 0x40
mov qword [rbp + 0x1c0], r11
mov qword [rbp + 0x188], r12
mov qword [rbp + 0x1c0], 0xfe
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x188], rdx
mov rcx, qword [rbp + 0x28]
cmp qword [rbp + 0x38], 0
cmove rcx, r12
movsxd rax, edi
mov rdx, qword [rcx + rax*8]
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], r10
lea rax, [rsp + 0x50]
mov qword [rbp + 0x4a0], rax
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x80], r11
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x80], 0xfe
mov qword [rsp + 0x30], r10
test rdx, rdx
cmove rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140039890
nop
mov r8, qword [rbp + 0x188]
test r8, r8
jne 0x140029fd3
mov r8, rbx
cmp qword [rbp + 0x1b8], 0
cmovne r8, qword [rbp + 0x1a8]
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x140029fec
mov rax, rbx
cmp qword [rsp + 0x78], 0
cmovne rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], r12
mov r9, r15
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.140036230
mov rbx, rax
lea rax, [rsp + 0x50]
mov qword [rbp + 0x4a8], rax
lea rcx, vtable.CVolMem.0
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14002a039
lea rcx, [rsp + 0x50]
mov rax, qword [rsp + 0x50]
call qword [rax + 0x18]
lea rcx, vtable.CVolMem.0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x30], r13
lea rax, [rbp + 0x190]
mov qword [rbp + 0x3d8], rax
mov qword [rbp + 0x190], rcx
mov rdx, qword [rbp + 0x1a8]
test rdx, rdx
je 0x14002a08b
lea rcx, [rbp + 0x190]
mov rax, qword [rbp + 0x190]
call qword [rax + 0x18]
lea rcx, vtable.CVolMem.0
mov qword [rbp + 0x1a8], r12
mov qword [rbp + 0x1b8], r12
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x190], r13
mov qword [rbp + 0x170], r13
cmp ebx, 0x14
jle 0x14002a9cf
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax]
lea r8, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x1c8], r8
mov qword [rbp + 0x1c8], r13
mov qword [rbp + 0x1d0], r12
mov qword [rbp + 0x1d8], r12
lea r9, vtable.CWString.0
mov qword [rbp + 0x1c8], r9
lea rax, [rbp + 0x1e8]
mov qword [rbp + 0x3e0], rax
mov qword [rbp + 0x1e8], r8
mov qword [rbp + 0x1e8], r13
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x1f8], r12
mov qword [rbp + 0x1e8], rcx
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x210], r12
mov qword [rbp + 0x208], r12
mov eax, 0x40
mov qword [rbp + 0x218], rax
mov qword [rbp + 0x1e0], r12
mov qword [rbp + 0x218], 0xfe
mov qword [rbp + 0x1c8], r9
test rdx, rdx
lea rbx, [0x1400686d0]
cmove rdx, rbx
lea rcx, [rbp + 0x1c8]
call fcn.140039890
nop
mov rax, qword [rbp + 0x1e0]
test rax, rax
jne 0x14002a19d
mov rax, rbx
cmp qword [rbp + 0x210], 0
cmovne rax, qword [rbp + 0x200]
mov rcx, rax
call fcn.1400465c8
cmp eax, 0x9a1d20
setge bl
lea rax, [rbp + 0x1e8]
mov qword [rbp + 0x3e8], rax
lea rcx, vtable.CVolMem.0
mov qword [rbp + 0x1e8], rcx
mov rdx, qword [rbp + 0x200]
test rdx, rdx
je 0x14002a1ed
lea rcx, [rbp + 0x1e8]
mov rax, qword [rbp + 0x1e8]
call qword [rax + 0x18]
lea rcx, vtable.CVolMem.0
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x210], r12
mov qword [rbp + 0x208], r12
mov qword [rbp + 0x1e8], r13
mov qword [rbp + 0x1c8], r13
test bl, bl
je 0x14002a9cf
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax]
lea r8, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x220], r8
mov qword [rbp + 0x220], r13
mov qword [rbp + 0x228], r12
mov qword [rbp + 0x230], r12
lea r9, vtable.CWString.0
mov qword [rbp + 0x220], r9
lea rax, [rbp + 0x240]
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x240], r8
mov qword [rbp + 0x240], r13
mov qword [rbp + 0x248], r12
mov qword [rbp + 0x250], r12
mov qword [rbp + 0x240], rcx
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x268], r12
mov qword [rbp + 0x260], r12
mov eax, 0x40
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x270], 0xfe
mov qword [rbp + 0x220], r9
test rdx, rdx
lea rbx, [0x1400686d0]
cmove rdx, rbx
lea rcx, [rbp + 0x220]
call fcn.140039890
nop
mov rax, qword [rbp + 0x238]
test rax, rax
jne 0x14002a2fe
mov rax, rbx
cmp qword [rbp + 0x268], 0
cmovne rax, qword [rbp + 0x258]
lea rcx, [r14 + 0x30]
mov rdx, rax
call fcn.14001fb40
nop
lea rax, [rbp + 0x240]
mov qword [rbp + 0x3f8], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x240], rax
mov rdx, qword [rbp + 0x258]
test rdx, rdx
je 0x14002a344
lea rcx, [rbp + 0x240]
mov rax, qword [rbp + 0x240]
call qword [rax + 0x18]
mov qword [rbp + 0x258], r12
mov qword [rbp + 0x268], r12
mov qword [rbp + 0x260], r12
mov qword [rbp + 0x240], r13
mov qword [rbp + 0x220], r13
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax + 0x50]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x278], rcx
mov qword [rbp + 0x278], r13
mov qword [rbp + 0x280], r12
mov qword [rbp + 0x288], r12
lea r8, vtable.CWString.0
mov qword [rbp + 0x278], r8
lea rax, [rbp + 0x298]
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x298], rcx
mov qword [rbp + 0x298], r13
mov qword [rbp + 0x2a0], r12
mov qword [rbp + 0x2a8], r12
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x298], rax
mov qword [rbp + 0x2b0], r12
mov qword [rbp + 0x2c0], r12
mov qword [rbp + 0x2b8], r12
mov eax, 0x40
mov qword [rbp + 0x2c8], rax
mov qword [rbp + 0x290], r12
mov qword [rbp + 0x2c8], 0xfe
mov qword [rbp + 0x278], r8
test rdx, rdx
cmove rdx, rbx
lea rcx, [rbp + 0x278]
call fcn.140039890
nop
mov rax, qword [rbp + 0x290]
test rax, rax
jne 0x14002a44e
mov rax, rbx
cmp qword [rbp + 0x2c0], 0
cmovne rax, qword [rbp + 0x2b0]
lea rcx, [r14 + 0x88]
mov rdx, rax
call fcn.14001fb40
nop
lea rax, [rbp + 0x298]
mov qword [rbp + 0x408], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x298], rax
mov rdx, qword [rbp + 0x2b0]
test rdx, rdx
je 0x14002a497
lea rcx, [rbp + 0x298]
mov rax, qword [rbp + 0x298]
call qword [rax + 0x18]
mov qword [rbp + 0x2b0], r12
mov qword [rbp + 0x2c0], r12
mov qword [rbp + 0x2b8], r12
mov qword [rbp + 0x298], r13
mov qword [rbp + 0x278], r13
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax + 0x30]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x2d0], rcx
mov qword [rbp + 0x2d0], r13
mov qword [rbp + 0x2d8], r12
mov qword [rbp + 0x2e0], r12
lea r8, vtable.CWString.0
mov qword [rbp + 0x2d0], r8
lea rax, [rbp + 0x2f0]
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x2f0], rcx
mov qword [rbp + 0x2f0], r13
mov qword [rbp + 0x2f8], r12
mov qword [rbp + 0x300], r12
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x308], r12
mov qword [rbp + 0x318], r12
mov qword [rbp + 0x310], r12
mov eax, 0x40
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x2e8], r12
mov qword [rbp + 0x320], 0xfe
mov qword [rbp + 0x2d0], r8
test rdx, rdx
cmove rdx, rbx
lea rcx, [rbp + 0x2d0]
call fcn.140039890
nop
mov rax, qword [rbp + 0x2e8]
test rax, rax
jne 0x14002a5a1
mov rax, rbx
cmp qword [rbp + 0x318], 0
cmovne rax, qword [rbp + 0x308]
lea rcx, [r14 + 0xe0]
mov rdx, rax
call fcn.14001fb40
nop
lea rax, [rbp + 0x2f0]
mov qword [rbp + 0x418], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x2f0], rax
mov rdx, qword [rbp + 0x308]
test rdx, rdx
je 0x14002a5ea
lea rcx, [rbp + 0x2f0]
mov rax, qword [rbp + 0x2f0]
call qword [rax + 0x18]
mov qword [rbp + 0x308], r12
mov qword [rbp + 0x318], r12
mov qword [rbp + 0x310], r12
mov qword [rbp + 0x2f0], r13
mov qword [rbp + 0x2d0], r13
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax + 0x68]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x328], rcx
mov qword [rbp + 0x328], r13
mov qword [rbp + 0x330], r12
mov qword [rbp + 0x338], r12
lea r8, vtable.CWString.0
mov qword [rbp + 0x328], r8
lea rax, [rbp + 0x348]
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x348], rcx
mov qword [rbp + 0x348], r13
mov qword [rbp + 0x350], r12
mov qword [rbp + 0x358], r12
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x348], rax
mov qword [rbp + 0x360], r12
mov qword [rbp + 0x370], r12
mov qword [rbp + 0x368], r12
mov eax, 0x40
mov qword [rbp + 0x378], rax
mov qword [rbp + 0x340], r12
mov qword [rbp + 0x378], 0xfe
mov qword [rbp + 0x328], r8
test rdx, rdx
cmove rdx, rbx
lea rcx, [rbp + 0x328]
call fcn.140039890
nop
mov rax, qword [rbp + 0x340]
test rax, rax
jne 0x14002a6f4
mov rax, rbx
cmp qword [rbp + 0x370], 0
cmovne rax, qword [rbp + 0x360]
lea rcx, [r14 + 0x138]
mov rdx, rax
call fcn.14001fb40
nop
lea rax, [rbp + 0x348]
mov qword [rbp + 0x428], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x348], rax
mov rdx, qword [rbp + 0x360]
test rdx, rdx
je 0x14002a73d
lea rcx, [rbp + 0x348]
mov rax, qword [rbp + 0x348]
call qword [rax + 0x18]
mov qword [rbp + 0x360], r12
mov qword [rbp + 0x370], r12
mov qword [rbp + 0x368], r12
mov qword [rbp + 0x348], r13
mov qword [rbp + 0x328], r13
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax + 0x90]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x380], rcx
mov qword [rbp + 0x380], r13
mov qword [rbp + 0x388], r12
mov qword [rbp + 0x390], r12
lea r8, vtable.CWString.0
mov qword [rbp + 0x380], r8
lea rax, [rbp + 0x3a0]
mov qword [rbp + 0x430], rax
mov qword [rbp + 0x3a0], rcx
mov qword [rbp + 0x3a0], r13
mov qword [rbp + 0x3a8], r12
mov qword [rbp + 0x3b0], r12
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3b8], r12
mov qword [rbp + 0x3c8], r12
mov qword [rbp + 0x3c0], r12
mov eax, 0x40
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x398], r12
mov qword [rbp + 0x3d0], 0xfe
mov qword [rbp + 0x380], r8
test rdx, rdx
cmove rdx, rbx
lea rcx, [rbp + 0x380]
call fcn.140039890
nop
mov rax, qword [rbp + 0x398]
test rax, rax
jne 0x14002a84a
mov rax, rbx
cmp qword [rbp + 0x3c8], 0
cmovne rax, qword [rbp + 0x3b8]
lea rcx, [r14 + 0x190]
mov rdx, rax
call fcn.14001fb40
nop
lea rax, [rbp + 0x3a0]
mov qword [rbp + 0x438], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x3a0], rax
mov rdx, qword [rbp + 0x3b8]
test rdx, rdx
je 0x14002a893
lea rcx, [rbp + 0x3a0]
mov rax, qword [rbp + 0x3a0]
call qword [rax + 0x18]
mov qword [rbp + 0x3b8], r12
mov qword [rbp + 0x3c8], r12
mov qword [rbp + 0x3c0], r12
mov qword [rbp + 0x3a0], r13
mov qword [rbp + 0x380], r13
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x28], 0
cmove rax, r12
mov rdx, qword [rax + 0x28]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
lea r8, vtable.CWString.0
mov qword [rbp + 0x50], r8
lea rax, [rbp + 0x70]
mov qword [rbp + 0x440], rax
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], r12
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x98], r12
mov qword [rbp + 0x90], r12
mov eax, 0x40
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x68], r12
mov qword [rbp + 0xa0], 0xfe
mov qword [rbp + 0x50], r8
test rdx, rdx
cmove rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.140039890
nop
mov rax, qword [rbp + 0x68]
test rax, rax
jne 0x14002a973
mov rax, rbx
cmp qword [rbp + 0x98], 0
cmovne rax, qword [rbp + 0x88]
lea rcx, [r14 + 0x1e8]
mov rdx, rax
call fcn.14001fb40
nop
lea rax, [rbp + 0x70]
mov qword [rbp + 0x448], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x70], rax
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x14002a9b0
lea rcx, [rbp + 0x70]
mov rax, qword [rbp + 0x70]
call qword [rax + 0x18]
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x98], r12
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x50], r13
jmp 0x14002a9d6
lea rbx, [0x1400686d0]
inc rdi
cmp rdi, rsi
lea rcx, vtable.CWConstString.0
lea rdx, [0x140068400]
jl 0x140029e80
lea rax, [rbp - 0x58]
mov qword [rbp + 0x498], rax
lea rax, vtable.CMStringArray.0
mov qword [rbp - 0x58], rax
mov rdx, qword [rbp - 0x38]
mov rsi, rdx
mov rdi, qword [rbp - 0x28]
test rdi, rdi
cmove rsi, r12
shr rdi, 3
mov rbx, r12
test rdi, rdi
je 0x14002aa44
mov rdx, qword [rsi + rbx*8]
test rdx, rdx
je 0x14002aa38
lea rcx, [rbp - 0x58]
mov rax, qword [rbp - 0x58]
call qword [rax + 0x18]
inc rbx
cmp rbx, rdi
jl 0x14002aa24
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x14002aa54
lea rcx, [rbp - 0x50]
mov rax, qword [rbp - 0x50]
call qword [rax + 0x18]
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x30], r12
lea rax, [rbp - 0x50]
mov qword [rbp + 0x498], rax
lea r14, vtable.CVolMem.0
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x70], r13
lea rax, [rbp + 0x130]
mov qword [rbp + 0x4a0], rax
mov qword [rbp + 0x130], r14
mov rdx, qword [rbp + 0x148]
test rdx, rdx
je 0x14002aab8
lea rcx, [rbp + 0x130]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x148], r12
mov qword [rbp + 0x158], r12
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x130], r13
mov qword [rbp + 0x110], r13
lea rax, [rbp + 8]
mov qword [rbp + 0x498], rax
lea rax, vtable.CMStringArray.0
mov qword [rbp + 8], rax
mov rdx, qword [rbp + 0x28]
mov rsi, rdx
mov rdi, qword [rbp + 0x38]
test rdi, rdi
cmove rsi, r12
shr rdi, 3
mov rbx, r12
test rdi, rdi
je 0x14002ab30
nop
mov rdx, qword [rsi + rbx*8]
test rdx, rdx
je 0x14002ab24
lea rcx, [rbp + 8]
mov rax, qword [rbp + 8]
call qword [rax + 0x18]
inc rbx
cmp rbx, rdi
jl 0x14002ab10
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14002ab40
lea rcx, [rbp + 0x10]
mov rax, qword [rbp + 0x10]
call qword [rax + 0x18]
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x30], r12
lea rax, [rbp + 0x10]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x10], r13
mov qword [rbp - 0x10], r13
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x4a0], rax
mov qword [rbp + 0xd0], r14
mov rdx, qword [rbp + 0xe8]
test rdx, rdx
je 0x14002ab9d
lea rcx, [rbp + 0xd0]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xb0], r13
mov eax, r15d
mov rbx, qword [rsp + 0x590]
add rsp, 0x550
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret