Function at 0x1400033a0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x490]
sub rsp, 0x590
mov rdi, rcx
xor r13d, r13d
mov dword [rbp + 0x60], r13d
lea r15, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp], r15
lea r12, vtable.CVolObject.0
mov qword [rbp], r12
mov qword [rbp + 8], r13
mov qword [rbp + 0x10], r13
lea rbx, vtable.CWString.0
mov qword [rbp], rbx
lea rax, [rbp + 0x20]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x30], r13
lea rsi, vtable.CVolMem.0
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x50], 0x40
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x50], 0xfe
mov qword [rbp + 0x170], r15
mov qword [rbp + 0x170], r12
mov qword [rbp + 0x178], r13
mov qword [rbp + 0x180], r13
lea rax, vtable.rg_n1::rg_n2366.0
mov qword [rbp + 0x170], rax
lea rax, vtable.rg_n1::rg_n1941.0
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0x188]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x188], r15
lea rax, vtable.CMStringArray.0
mov qword [rbp + 0x188], rax
lea rax, [rbp + 0x190]
mov qword [rbp + 0x4e8], rax
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x198], r13
mov qword [rbp + 0x1a0], r13
mov qword [rbp + 0x190], rsi
mov qword [rbp + 0x1a8], r13
mov qword [rbp + 0x1b8], r13
mov qword [rbp + 0x1b0], r13
mov qword [rbp + 0x1c0], 0x40
mov qword [rbp + 0x1c0], 0x100
lea rcx, [rbp + 0x188]
call fcn.140013240
lea r14d, [r13 + 1]
test eax, eax
jne 0x140003dad
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov qword [0x14027bc90], r14
mov ecx, eax
call fcn.1401b90c4
cmp qword [0x14027bc90], r13
jne 0x140003538
mov qword [0x14027bc90], r14
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1401b90c4
call fcn.1401b9098
movsxd rcx, eax
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xb
sub rcx, rax
lea rdx, [rcx + 0xa]
lea rcx, [rbp - 0x60]
call fcn.14000c280
mov rbx, rax
lea rcx, [rbp]
mov rdx, qword [rbp]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp + 8], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0x18], rcx
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x20]
call fcn.140006050
nop
lea rax, [rbp - 0x40]
mov qword [rbp + 0x4e0], rax
mov qword [rbp - 0x40], rsi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1400035d6
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x18]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x60], r12
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea rcx, vtable.CWString.0
mov qword [rsp + 0x40], rcx
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], 0x40
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x70], 0xfe
lea r12, vtable.CWConstString.0
mov qword [rsp + 0x40], r12
lea rax, str.C:ProgramData_nIns
mov qword [rsp + 0x58], rax
lea r8, [rbp]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x118]
call fcn.140015d80
nop
lea r8, [0x1402364c0]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140015f30
mov rbx, rax
lea rcx, [rbp]
mov rdx, qword [rbp]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp + 8], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0x18], rcx
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x20]
call fcn.140006050
nop
lea rax, [rbp - 0x40]
mov qword [rbp + 0x4e0], rax
mov qword [rbp - 0x40], rsi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1400036fa
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x18]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
lea r15, vtable.CVolObject.0
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x60], r15
lea rax, [rbp + 0x138]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x138], rsi
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x140003747
lea rcx, [rbp + 0x138]
mov rax, qword [rbp + 0x138]
call qword [rax + 0x18]
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x138], r15
mov qword [rbp + 0x118], r15
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], rsi
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140003792
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x18]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x40], r15
lea rsi, [0x140233340]
mov rax, qword [rbp + 0x18]
test rax, rax
jne 0x1400037c6
mov rax, rsi
cmp qword [rbp + 0x48], 0
cmovne rax, qword [rbp + 0x38]
mov rcx, rax
call fcn.140012f20
test eax, eax
jne 0x1400037fd
mov rax, qword [rbp + 0x18]
test rax, rax
jne 0x1400037e8
mov rax, rsi
cmp qword [rbp + 0x48], 0
cmovne rax, qword [rbp + 0x38]
mov rcx, rax
call fcn.140012be0
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400037b0
cmp qword [0x14027bc90], 0
jne 0x14000381b
mov qword [0x14027bc90], r14
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1401b90c4
call fcn.1401b9098
movsxd rcx, eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [rcx + 0xf]
lea rcx, [rbp + 0xc0]
call fcn.14000c280
mov rdi, rax
lea rcx, [rbp + 0x438]
call fcn.14000bb10
mov rbx, rax
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
lea rax, vtable.CWString.0
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x4e0], rax
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r13
lea rax, vtable.CVolMem.0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x10], 0x40
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x10], 0xfe
mov r15d, 2
mov dword [rbp + 0x60], r15d
lea rdx, [rbp - 0x60]
call fcn.140012ac0
lea rdx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x40], rdx
lea rcx, vtable.CVolObject.0
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea rax, vtable.CWString.0
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], 0x40
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x70], 0xfe
mov qword [rsp + 0x40], r12
lea rcx, str.cmd__c__
mov qword [rsp + 0x58], rcx
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x3e0]
call fcn.140015d80
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x388]
call fcn.140015d80
nop
lea r8, [0x140236528]
mov rdx, rax
lea rcx, [rbp + 0x330]
call fcn.140015f30
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x2d8]
call fcn.140015d80
nop
lea r8, [0x140236520]
mov rdx, rax
lea rcx, [rbp + 0x280]
call fcn.140015f30
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x228]
call fcn.140015d80
nop
lea r8, [0x1402364c0]
mov rdx, rax
lea rcx, [rbp + 0x118]
call fcn.140015f30
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x140003a19
cmp qword [rax + 0x48], rcx
mov rcx, rsi
je 0x140003a19
mov rcx, qword [rax + 0x38]
call fcn.140013080
nop
lea rax, [rbp + 0x138]
mov qword [rbp + 0x4e0], rax
lea rsi, vtable.CVolMem.0
mov qword [rbp + 0x138], rsi
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x140003a58
lea rcx, [rbp + 0x138]
mov rax, qword [rbp + 0x138]
call qword [rax + 0x18]
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x158], r13
lea r12, vtable.CVolObject.0
mov qword [rbp + 0x138], r12
mov qword [rbp + 0x118], r12
lea rax, [rbp + 0x248]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x248], rsi
mov rdx, qword [rbp + 0x260]
test rdx, rdx
je 0x140003ab4
lea rcx, [rbp + 0x248]
mov rax, qword [rbp + 0x248]
call qword [rax + 0x18]
mov qword [rbp + 0x260], r13
mov qword [rbp + 0x270], r13
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x248], r12
mov qword [rbp + 0x228], r12
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x2a0], rsi
mov rdx, qword [rbp + 0x2b8]
test rdx, rdx
je 0x140003b09
lea rcx, [rbp + 0x2a0]
mov rax, qword [rbp + 0x2a0]
call qword [rax + 0x18]
mov qword [rbp + 0x2b8], r13
mov qword [rbp + 0x2c8], r13
mov qword [rbp + 0x2c0], r13
mov qword [rbp + 0x2a0], r12
mov qword [rbp + 0x280], r12
lea rax, [rbp + 0x2f8]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x2f8], rsi
mov rdx, qword [rbp + 0x310]
test rdx, rdx
je 0x140003b5e
lea rcx, [rbp + 0x2f8]
mov rax, qword [rbp + 0x2f8]
call qword [rax + 0x18]
mov qword [rbp + 0x310], r13
mov qword [rbp + 0x320], r13
mov qword [rbp + 0x318], r13
mov qword [rbp + 0x2f8], r12
mov qword [rbp + 0x2d8], r12
lea rax, [rbp + 0x350]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x350], rsi
mov rdx, qword [rbp + 0x368]
test rdx, rdx
je 0x140003bb3
lea rcx, [rbp + 0x350]
mov rax, qword [rbp + 0x350]
call qword [rax + 0x18]
mov qword [rbp + 0x368], r13
mov qword [rbp + 0x378], r13
mov qword [rbp + 0x370], r13
mov qword [rbp + 0x350], r12
mov qword [rbp + 0x330], r12
lea rax, [rbp + 0x3a8]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x3a8], rsi
mov rdx, qword [rbp + 0x3c0]
test rdx, rdx
je 0x140003c08
lea rcx, [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a8]
call qword [rax + 0x18]
mov qword [rbp + 0x3c0], r13
mov qword [rbp + 0x3d0], r13
mov qword [rbp + 0x3c8], r13
mov qword [rbp + 0x3a8], r12
mov qword [rbp + 0x388], r12
lea rax, [rbp + 0x400]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x400], rsi
mov rdx, qword [rbp + 0x418]
test rdx, rdx
je 0x140003c5d
lea rcx, [rbp + 0x400]
mov rax, qword [rbp + 0x400]
call qword [rax + 0x18]
mov qword [rbp + 0x418], r13
mov qword [rbp + 0x428], r13
mov qword [rbp + 0x420], r13
mov qword [rbp + 0x400], r12
mov qword [rbp + 0x3e0], r12
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], rsi
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140003ca8
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x18]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], r12
and r15d, 0xfffffffd
mov dword [rbp + 0x60], r15d
lea rax, [rbp - 0x40]
mov qword [rbp + 0x4e0], rax
mov qword [rbp - 0x40], rsi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x140003cea
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x18]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x60], r12
lea rax, [rbp + 0x458]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x458], rsi
mov rdx, qword [rbp + 0x470]
test rdx, rdx
je 0x140003d30
lea rcx, [rbp + 0x458]
mov rax, qword [rbp + 0x458]
call qword [rax + 0x18]
mov qword [rbp + 0x470], r13
mov qword [rbp + 0x480], r13
mov qword [rbp + 0x478], r13
mov qword [rbp + 0x458], r12
mov qword [rbp + 0x438], r12
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0xe0], rsi
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x140003d85
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 0xe0]
call qword [rax + 0x18]
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x100], r13
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xc0], r12
jmp 0x140004ac2
cmp eax, r14d
je 0x140004ac2
cmp eax, 2
jne 0x1400044dd
mov rax, qword [rbp + 0x1a8]
cmp qword [rbp + 0x1b8], 0
cmove rax, r13
mov rdx, qword [rax]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], 0x40
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x70], 0xfe
mov qword [rsp + 0x40], rbx
lea rsi, [0x140233340]
test rdx, rdx
cmove rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.1400157c0
nop
lea rcx, [rbp]
mov rax, qword [rbp]
call qword [rax + 0x88]
mov rax, qword [rsp + 0x48]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x20]
mov rax, qword [rbp + 0x20]
call qword [rax + 0x88]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x20]
call fcn.140006050
nop
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
lea r15, vtable.CVolMem.0
mov qword [rsp + 0x60], r15
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140003ec8
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x18]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], r12
cmp qword [0x14027bc90], 0
jne 0x140003efd
mov qword [0x14027bc90], r14
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1401b90c4
call fcn.1401b9098
movsxd rcx, eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [rcx + 0xf]
lea rcx, [rbp + 0x68]
call fcn.14000c280
mov rdi, rax
lea rcx, [rbp + 0x1d0]
call fcn.14000bb10
mov rbx, rax
lea rcx, [rbp - 0x60]
call fcn.14000ba80
nop
lea rdx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea rcx, vtable.CWString.0
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x60]
mov qword [rbp + 0x4e0], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], 0x40
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x70], 0xfe
lea r12, vtable.CWConstString.0
mov qword [rsp + 0x40], r12
lea rcx, str.cmd__c__
mov qword [rsp + 0x58], rcx
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x118]
call fcn.140015d80
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x228]
call fcn.140015d80
nop
lea r8, [0x140236528]
mov rdx, rax
lea rcx, [rbp + 0x280]
call fcn.140015f30
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x2d8]
call fcn.140015d80
nop
lea r8, [0x140236554]
mov rdx, rax
lea rcx, [rbp + 0x330]
call fcn.140015f30
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x388]
call fcn.140015d80
nop
lea r8, [0x140236520]
mov rdx, rax
lea rcx, [rbp + 0x3e0]
call fcn.140015f30
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x438]
call fcn.140015d80
nop
lea r8, str._25
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.140015f30
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x1400040aa
cmp qword [rax + 0x48], rcx
mov rcx, rsi
je 0x1400040aa
mov rcx, qword [rax + 0x38]
call fcn.140013080
nop
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x4e0], rax
lea rsi, vtable.CVolMem.0
mov qword [rbp + 0xe0], rsi
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x1400040e9
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 0xe0]
call qword [rax + 0x18]
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x100], r13
lea r12, vtable.CVolObject.0
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xc0], r12
lea rax, [rbp + 0x458]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x458], rsi
mov rdx, qword [rbp + 0x470]
test rdx, rdx
je 0x140004145
lea rcx, [rbp + 0x458]
mov rax, qword [rbp + 0x458]
call qword [rax + 0x18]
mov qword [rbp + 0x470], r13
mov qword [rbp + 0x480], r13
mov qword [rbp + 0x478], r13
mov qword [rbp + 0x458], r12
mov qword [rbp + 0x438], r12
lea rax, [rbp + 0x400]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x400], rsi
mov rdx, qword [rbp + 0x418]
test rdx, rdx
je 0x14000419a
lea rcx, [rbp + 0x400]
mov rax, qword [rbp + 0x400]
call qword [rax + 0x18]
mov qword [rbp + 0x418], r13
mov qword [rbp + 0x428], r13
mov qword [rbp + 0x420], r13
mov qword [rbp + 0x400], r12
mov qword [rbp + 0x3e0], r12
lea rax, [rbp + 0x3a8]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x3a8], rsi
mov rdx, qword [rbp + 0x3c0]
test rdx, rdx
je 0x1400041ef
lea rcx, [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a8]
call qword [rax + 0x18]
mov qword [rbp + 0x3c0], r13
mov qword [rbp + 0x3d0], r13
mov qword [rbp + 0x3c8], r13
mov qword [rbp + 0x3a8], r12
mov qword [rbp + 0x388], r12
lea rax, [rbp + 0x350]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x350], rsi
mov rdx, qword [rbp + 0x368]
test rdx, rdx
je 0x140004244
lea rcx, [rbp + 0x350]
mov rax, qword [rbp + 0x350]
call qword [rax + 0x18]
mov qword [rbp + 0x368], r13
mov qword [rbp + 0x378], r13
mov qword [rbp + 0x370], r13
mov qword [rbp + 0x350], r12
mov qword [rbp + 0x330], r12
lea rax, [rbp + 0x2f8]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x2f8], rsi
mov rdx, qword [rbp + 0x310]
test rdx, rdx
je 0x140004299
lea rcx, [rbp + 0x2f8]
mov rax, qword [rbp + 0x2f8]
call qword [rax + 0x18]
mov qword [rbp + 0x310], r13
mov qword [rbp + 0x320], r13
mov qword [rbp + 0x318], r13
mov qword [rbp + 0x2f8], r12
mov qword [rbp + 0x2d8], r12
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x2a0], rsi
mov rdx, qword [rbp + 0x2b8]
test rdx, rdx
je 0x1400042ee
lea rcx, [rbp + 0x2a0]
mov rax, qword [rbp + 0x2a0]
call qword [rax + 0x18]
mov qword [rbp + 0x2b8], r13
mov qword [rbp + 0x2c8], r13
mov qword [rbp + 0x2c0], r13
mov qword [rbp + 0x2a0], r12
mov qword [rbp + 0x280], r12
lea rax, [rbp + 0x248]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x248], rsi
mov rdx, qword [rbp + 0x260]
test rdx, rdx
je 0x140004343
lea rcx, [rbp + 0x248]
mov rax, qword [rbp + 0x248]
call qword [rax + 0x18]
mov qword [rbp + 0x260], r13
mov qword [rbp + 0x270], r13
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x248], r12
mov qword [rbp + 0x228], r12
lea rax, [rbp + 0x138]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x138], rsi
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x140004398
lea rcx, [rbp + 0x138]
mov rax, qword [rbp + 0x138]
call qword [rax + 0x18]
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x138], r12
mov qword [rbp + 0x118], r12
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], rsi
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x1400043e3
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x18]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], r12
lea rax, [rbp - 0x40]
mov qword [rbp + 0x4e0], rax
mov qword [rbp - 0x40], rsi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x14000441d
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x18]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x60], r12
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x1f0], rsi
mov rdx, qword [rbp + 0x208]
test rdx, rdx
je 0x140004463
lea rcx, [rbp + 0x1f0]
mov rax, qword [rbp + 0x1f0]
call qword [rax + 0x18]
mov qword [rbp + 0x208], r13
mov qword [rbp + 0x218], r13
mov qword [rbp + 0x210], r13
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x1d0], r12
lea rax, [rbp + 0x88]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x88], rsi
mov rdx, qword [rbp + 0xa0]
test rdx, rdx
je 0x1400044b8
lea rcx, [rbp + 0x88]
mov rax, qword [rbp + 0x88]
call qword [rax + 0x18]
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x68], r12
jmp 0x140004ac2
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], rbx
lea rax, [rbp - 0x40]
mov qword [rbp + 0x4e0], rax
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x10], 0x40
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x10], 0xfe
mov rax, qword [rbp + 0x1a8]
cmp qword [rbp + 0x1b8], 0
cmove rax, r13
mov rdx, qword [rax]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], 0x40
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x70], 0xfe
mov qword [rsp + 0x40], rbx
lea rsi, [0x140233340]
test rdx, rdx
cmove rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.1400157c0
nop
lea rcx, [rbp]
mov rax, qword [rbp]
call qword [rax + 0x88]
mov rax, qword [rsp + 0x48]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x20]
mov rax, qword [rbp + 0x20]
call qword [rax + 0x88]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x20]
call fcn.140006050
nop
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
lea r15, vtable.CVolMem.0
mov qword [rsp + 0x60], r15
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140004639
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x60]
call qword [rax + 0x18]
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], r12
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, 1
mov qword [0x14027bc90], r14
mov ecx, eax
call fcn.1401b90c4
cmp qword [0x14027bc90], 0
jne 0x140004688
mov qword [0x14027bc90], r14
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.1401b90c4
call fcn.1401b9098
movsxd rcx, eax
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xb
sub rcx, rax
lea rdx, [rcx + 5]
lea rcx, [rbp + 0x68]
call fcn.14000c280
mov rbx, rax
lea rcx, [rbp - 0x60]
mov rdx, qword [rbp - 0x60]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x40]
mov rdx, qword [rbp - 0x40]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp - 0x40]
call fcn.140006050
nop
lea rax, [rbp + 0x88]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x88], r15
mov rdx, qword [rbp + 0xa0]
test rdx, rdx
je 0x140004735
lea rcx, [rbp + 0x88]
mov rax, qword [rbp + 0x88]
call qword [rax + 0x18]
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x68], r12
mov qword [0x14026e450], r13
lea rax, [0x14026e448]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
lea r9, str.Pi_
lea r8, [0x14000df60]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x14026e458], rax
lea r8, str._
lea rdx, [rbp]
lea rcx, [rbp + 0xc0]
call fcn.140015f30
nop
lea r8, [rbp - 0x60]
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140015d80
nop
lea r8, [0x140236558]
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.140015f30
nop
mov edx, 0x1f4
mov rcx, rax
call fcn.14000d730
nop
lea rax, [rbp + 0x88]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x88], r15
mov rdx, qword [rbp + 0xa0]
test rdx, rdx
je 0x14000480c
lea rcx, [rbp + 0x88]
mov rax, qword [rbp + 0x88]
call qword [rax + 0x18]
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x68], r12
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x1f0], r15
mov rdx, qword [rbp + 0x208]
test rdx, rdx
je 0x14000485e
lea rcx, [rbp + 0x1f0]
mov rax, qword [rbp + 0x1f0]
call qword [rax + 0x18]
mov qword [rbp + 0x208], r13
mov qword [rbp + 0x218], r13
mov qword [rbp + 0x210], r13
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x1d0], r12
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0xe0], r15
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x1400048b3
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 0xe0]
call qword [rax + 0x18]
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x100], r13
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xc0], r12
lea r8, str._nbexec.dll
lea rdx, [rbp]
lea rcx, [rbp + 0x68]
call fcn.140015f30
nop
mov edx, 0x1f5
mov rcx, rax
call fcn.14000d730
nop
lea rcx, [rbp + 0x68]
call fcn.1400056f0
lea r8, str._
lea rdx, [rbp]
lea rcx, [rbp + 0xc0]
call fcn.140015f30
nop
lea r8, [rbp - 0x60]
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140015d80
nop
lea r8, str..txt
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.140015f30
nop
mov rcx, qword [rax + 0x18]
test rcx, rcx
jne 0x140004958
cmp qword [rax + 0x48], rcx
mov rcx, rsi
je 0x140004958
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
lea rcx, [rbp + 0x68]
call fcn.1400056f0
nop
lea rcx, [rbp + 0x1d0]
call fcn.1400056f0
nop
lea rcx, [rbp + 0xc0]
call fcn.1400056f0
mov rdx, rdi
mov rcx, rbx
call fcn.14000d970
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea rax, vtable.CWString.0
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x4e0], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
lea rsi, vtable.CVolMem.0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x70], 0x40
mov qword [rsp + 0x58], r13
mov qword [rbp - 0x70], 0xfe
lea r8, str._
lea rdx, [rbp]
lea rcx, [rbp + 0xc0]
call fcn.140015f30
nop
lea r8, [rbp - 0x60]
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140015d80
nop
lea r8, [0x140236558]
mov rdx, rax
lea rcx, [rbp + 0x68]
call fcn.140015f30
nop
or qword [rsp + 0x48], 1
lea rcx, [rbp]
mov qword [rsp + 0x20], rcx
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.14000e400
nop
lea rcx, [rbp + 0x68]
call fcn.1400056f0
nop
lea rcx, [rbp + 0x1d0]
call fcn.1400056f0
nop
lea rcx, [rbp + 0xc0]
call fcn.1400056f0
nop
lea rcx, [rsp + 0x40]
call fcn.1400056f0
nop
lea rcx, [rbp - 0x60]
call fcn.1400056f0
mov r14d, r13d
lea rcx, [rbp + 0x170]
call fcn.1400032d0
nop
lea rax, [rbp + 0x20]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x20], rsi
mov rdx, qword [rbp + 0x38]
test rdx, rdx
je 0x140004af3
lea rcx, [rbp + 0x20]
mov r8, qword [rbp + 0x20]
call qword [r8 + 0x18]
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x20], r12
mov qword [rbp], r12
mov eax, r14d
mov rbx, qword [rsp + 0x5d0]
add rsp, 0x590
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret