Function at 0x180004ce0
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x208]
sub rsp, 0x368
lea rdi, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0xa0], rdi
lea rsi, vtable.CVolObject.0
mov qword [rbp + 0xa0], rsi
xor r13d, r13d
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], r13
lea rcx, vtable.rg_n1::rg_n2366.0
mov qword [rbp + 0xa0], rcx
lea rax, vtable.rg_n1::rg_n1941.0
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0xb8]
mov qword [rbp + 0x250], rax
mov qword [rbp + 0xb8], rdi
lea rax, vtable.CMStringArray.0
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x258], rax
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xc0], rsi
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], r13
lea r12, vtable.CVolMem.0
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xd8], r13
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xe0], r13
mov r14d, 0x40
mov qword [rbp + 0xf0], r14
mov qword [rbp + 0xf0], 0x100
mov qword [rbp + 0x100], rdi
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x100], rcx
lea rax, vtable.rg_n1::rg_n336.0
mov qword [rbp + 0x100], rax
lea rax, [rbp + 0x118]
mov qword [rbp + 0x260], rax
lea rax, [rbp + 0x118]
mov qword [rbp + 0x268], rax
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0x118], rsi
mov qword [rbp + 0x120], r13
mov qword [rbp + 0x128], r13
mov qword [rbp + 0x118], r12
mov qword [rbp + 0x130], r13
mov qword [rbp + 0x140], r13
mov qword [rbp + 0x138], r13
mov qword [rbp + 0x148], r14
mov qword [rbp + 0x148], 0x80
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x50], r13
lea rcx, vtable.CWString.0
mov qword [rbp + 0x40], rcx
lea rax, [rbp + 0x60]
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x90], 0xfe
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x20], rcx
lea rax, [rbp]
mov qword [rbp + 0x1e8], rax
mov qword [rbp], rdi
mov qword [rbp], rsi
mov qword [rbp + 8], r13
mov qword [rbp + 0x10], r13
mov qword [rbp], r12
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x30], r14
mov qword [rbp - 8], r13
mov qword [rbp + 0x30], 0xfe
mov qword [rbp + 0x150], rdi
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x168], r13
mov qword [rbp + 0x178], r13
mov qword [rbp + 0x170], r13
mov qword [rbp + 0x180], r14
mov dword [rsp + 0xc0], 0xec
mov dword [rsp + 0xb8], 7
mov dword [rsp + 0xb0], 0x14
mov dword [rsp + 0xa8], 3
mov dword [rsp + 0xa0], 1
mov dword [rsp + 0x98], 0x81
mov dword [rsp + 0x90], 0x94
mov dword [rsp + 0x88], 0x81
mov dword [rsp + 0x80], 0x4a
mov dword [rsp + 0x78], 0x50
mov dword [rsp + 0x70], 0x52
mov dword [rsp + 0x68], 0x7f
mov dword [rsp + 0x60], 0x92
mov dword [rsp + 0x58], WSACleanup
mov dword [rsp + 0x50], 0x80
mov dword [rsp + 0x48], 0x8e
mov dword [rsp + 0x40], 0x7d
mov dword [rsp + 0x38], 0x91
mov dword [rsp + 0x30], 0x63
mov dword [rsp + 0x28], WSACleanup
mov dword [rsp + 0x20], 0x1b
lea edx, [r13 + 0x17]
lea r9d, [r13 + 0x5f]
lea r8d, [r13 + 0x7f]
lea rcx, [rbp + 0x150]
call fcn.180014e50
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.180006360
mov rbx, rax
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x40]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp + 0x50], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0x58], rcx
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x60]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x60]
call fcn.180008de0
nop
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1a8], r12
mov rdx, qword [rbp + 0x1c0]
test rdx, rdx
je 0x1800050b1
lea rcx, [rbp + 0x1a8]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x1c0], r13
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1c8], r13
mov qword [rbp + 0x1a8], rsi
mov qword [rbp + 0x188], rsi
mov qword [rbp + 0x150], r12
mov rdx, qword [rbp + 0x168]
test rdx, rdx
je 0x1800050f8
lea rcx, [rbp + 0x150]
mov rax, qword [rbp + 0x150]
call qword [rax + 0x18]
mov qword [rbp + 0x168], r13
mov qword [rbp + 0x178], r13
mov qword [rbp + 0x170], r13
mov qword [rbp + 0x150], rsi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x50], r14
mov dword [rsp + 0xd8], 0x44
mov dword [rsp + 0xd0], 0xdd
mov dword [rsp + 0xc8], 0x94
mov dword [rsp + 0xc0], 0x9b
mov dword [rsp + 0xb8], 0x24
mov dword [rsp + 0xb0], 0x23
mov dword [rsp + 0xa8], 0x36
mov dword [rsp + 0xa0], 0x23
mov dword [rsp + 0x98], 0xec
mov dword [rsp + 0x90], 0xf2
mov dword [rsp + 0x88], 0xf4
mov dword [rsp + 0x80], 0x23
mov dword [rsp + 0x78], 0x32
mov dword [rsp + 0x70], 0x1f
mov dword [rsp + 0x68], 0x22
mov dword [rsp + 0x60], 0x2e
mov dword [rsp + 0x58], 0x13
mov dword [rsp + 0x50], 0x22
mov dword [rsp + 0x48], 0x30
mov dword [rsp + 0x40], 0x1f
mov dword [rsp + 0x38], 0x33
mov dword [rsp + 0x30], 5
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], 0x9a
mov edx, 0x1a
mov r9d, 0xf0
lea r8d, [r9 - 8]
lea rcx, [rbp - 0x80]
call fcn.180014e50
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.180006360
mov rbx, rax
lea rcx, [rbp - 0x20]
mov rdx, qword [rbp - 0x20]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp - 8], rcx
lea rcx, [rbp]
mov rdx, qword [rbp]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp]
call fcn.180008de0
nop
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x1a8], r12
mov rdx, qword [rbp + 0x1c0]
test rdx, rdx
je 0x1800052b6
lea rcx, [rbp + 0x1a8]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x1c0], r13
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1c8], r13
mov qword [rbp + 0x1a8], rsi
mov qword [rbp + 0x188], rsi
mov qword [rbp - 0x80], r12
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x1800052f1
lea rcx, [rbp - 0x80]
mov rax, qword [rbp - 0x80]
call qword [rax + 0x18]
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x80], rsi
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0xa0]
call fcn.18000f9a0
mov r14, r13
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
lea r15, [0x18003cf5c]
test eax, eax
jle 0x180005545
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0xd8]
test rdx, rdx
cmove rcx, r13
movsxd rax, r14d
mov rbx, qword [rcx + rax*8]
test rbx, rbx
cmove rbx, r15
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea rcx, vtable.CWString.0
mov qword [rbp - 0x80], rcx
lea rax, [rbp - 0x60]
mov qword [rbp + 0x250], rax
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x30], 0x40
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x30], 0xfe
mov qword [rbp - 0x80], rcx
test rbx, rbx
je 0x180005477
cmp word [rbx], 0
je 0x180005477
mov rcx, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x38]
cmp rdi, 2
jb 0x1800053eb
cmp word [rdi + rcx - 2], 0
jne 0x1800053eb
sub rdi, 2
mov qword [rbp - 0x38], rdi
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x1800053f2
lea rsi, [rax*2 + 2]
mov rax, qword [rbp - 0x40]
sub rax, rdi
cmp rax, rsi
jl 0x180005448
cmp rsi, 2
jne 0x180005424
movzx eax, word [rbx]
mov word [rdi + rcx], ax
add qword [rbp - 0x38], rsi
jmp 0x180005469
cmp rsi, 4
jne 0x180005435
mov eax, dword [rbx]
mov dword [rdi + rcx], eax
add qword [rbp - 0x38], rsi
jmp 0x180005469
cmp rsi, 8
jne 0x180005448
mov rax, qword [rbx]
mov qword [rdi + rcx], rax
add qword [rbp - 0x38], rsi
jmp 0x180005469
test rsi, rsi
jle 0x180005469
lea rdx, [rdi + rsi]
lea rcx, [rbp - 0x60]
call fcn.180014d70
lea rcx, [rdi + rax]
mov r8, rsi
mov rdx, rbx
call fcn.18001c470
lea rsi, vtable.CVolObject.0
lea rdi, vtable.CVolCommonBaseWithMemManager.0
mov rdx, qword [rbp + 0x58]
test rdx, rdx
jne 0x180005490
mov rdx, r15
cmp qword [rbp + 0x88], 0
cmovne rdx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x1800054a6
mov rax, r15
cmp qword [rbp - 0x38], 0
cmovne rax, qword [rbp - 0x48]
sub rdx, rax
nop dword [rax]
movzx ebx, word [rax]
movzx ecx, word [rax + rdx]
sub ebx, ecx
jne 0x1800054c3
add rax, 2
test ecx, ecx
jne 0x1800054b0
lea rax, [rbp - 0x60]
mov qword [rbp + 0x258], rax
mov qword [rbp - 0x60], r12
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x1800054e6
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
test ebx, ebx
jne 0x180005529
lea rcx, [rbp + 0x40]
call fcn.18000f2d0
movsxd r8, eax
xor edx, edx
lea ecx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r14
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
cdqe
cmp r14, rax
jl 0x180005340
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0xa0]
call fcn.18000f9a0
mov r12, r13
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
lea r14, vtable.CVolMem.0
test eax, eax
jle 0x180005835
nop dword [rax + rax]
mov rcx, qword [rbp + 0xd8]
test rdx, rdx
cmove rcx, r13
movsxd rax, r12d
mov rdi, qword [rcx + rax*8]
test rdi, rdi
cmove rdi, r15
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea rdx, vtable.CWString.0
mov qword [rbp - 0x80], rdx
lea rax, [rbp - 0x60]
mov qword [rbp + 0x250], rax
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov r8d, 0x40
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x30], 0xfe
mov qword [rbp - 0x80], rdx
test rdi, rdi
je 0x18000576a
cmp word [rdi], 0
je 0x18000576a
mov rcx, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x38]
cmp rbx, 2
jb 0x180005634
cmp word [rbx + rcx - 2], 0
jne 0x180005634
sub rbx, 2
mov qword [rbp - 0x38], rbx
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x180005640
lea r15, [rax*2 + 2]
mov rdx, qword [rbp - 0x40]
mov rax, rdx
sub rax, rbx
cmp rax, r15
jl 0x1800056a2
cmp r15, 2
jne 0x180005678
movzx eax, word [rdi]
mov word [rbx + rcx], ax
add qword [rbp - 0x38], r15
jmp 0x180005763
cmp r15, 4
jne 0x18000568c
mov eax, dword [rdi]
mov dword [rbx + rcx], eax
add qword [rbp - 0x38], r15
jmp 0x180005763
cmp r15, 8
jne 0x1800056a2
mov rax, qword [rdi]
mov qword [rbx + rcx], rax
add qword [rbp - 0x38], r15
jmp 0x180005763
test r15, r15
jle 0x180005763
lea r14, [r15 + rbx]
cmp r14, rbx
je 0x18000574e
test r14, r14
jne 0x1800056e1
test rcx, rcx
je 0x1800056d0
mov rdx, rcx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov rcx, r13
jmp 0x18000574e
test rcx, rcx
jne 0x1800056f4
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.180014cf0
jmp 0x18000574b
mov rsi, qword [rbp - 0x30]
test rsi, rsi
cmovle rsi, r8
cmp rdx, r14
jl 0x180005719
sub rdx, r14
cmp rdx, rsi
jg 0x180005719
mov qword [rbp - 0x38], r14
lea rsi, vtable.CVolObject.0
jmp 0x18000574e
mov rax, r14
cqo
idiv rsi
sub rsi, rdx
add rsi, r14
mov r8, rsi
mov rdx, rcx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x10]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], r14
lea rsi, vtable.CVolObject.0
mov rcx, rax
add rcx, rbx
mov r8, r15
mov rdx, rdi
call fcn.18001c470
lea r14, vtable.CVolMem.0
lea r15, [0x18003cf5c]
mov rdx, qword [rbp - 8]
test rdx, rdx
jne 0x180005780
mov rdx, r15
cmp qword [rbp + 0x28], 0
cmovne rdx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x180005796
mov rax, r15
cmp qword [rbp - 0x38], 0
cmovne rax, qword [rbp - 0x48]
sub rdx, rax
nop dword [rax]
movzx ebx, word [rax]
movzx ecx, word [rax + rdx]
sub ebx, ecx
jne 0x1800057b3
add rax, 2
test ecx, ecx
jne 0x1800057a0
lea rax, [rbp - 0x60]
mov qword [rbp + 0x258], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x1800057d6
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
test ebx, ebx
jne 0x180005819
lea rcx, [rbp - 0x20]
call fcn.18000f2d0
movsxd r8, eax
xor edx, edx
lea ecx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r12
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
cdqe
cmp r12, rax
jl 0x180005580
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0xa0]
call fcn.18000f9a0
mov r12, r13
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
test eax, eax
jle 0x180005b15
mov rcx, qword [rbp + 0xd8]
test rdx, rdx
cmove rcx, r13
movsxd rax, r12d
mov rdi, qword [rcx + rax*8]
test rdi, rdi
cmove rdi, r15
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea rdx, vtable.CWString.0
mov qword [rbp - 0x80], rdx
lea rax, [rbp - 0x60]
mov qword [rbp + 0x250], rax
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov r8d, 0x40
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x30], 0xfe
mov qword [rbp - 0x80], rdx
test rdi, rdi
je 0x180005a4a
cmp word [rdi], 0
je 0x180005a4a
mov rcx, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x38]
cmp rbx, 2
jb 0x180005915
cmp word [rbx + rcx - 2], 0
jne 0x180005915
sub rbx, 2
mov qword [rbp - 0x38], rbx
mov rax, 0xffffffffffffffff
nop dword [rax]
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x180005920
lea r15, [rax*2 + 2]
mov rdx, qword [rbp - 0x40]
mov rax, rdx
sub rax, rbx
cmp rax, r15
jl 0x180005982
cmp r15, 2
jne 0x180005958
movzx eax, word [rdi]
mov word [rbx + rcx], ax
add qword [rbp - 0x38], r15
jmp 0x180005a43
cmp r15, 4
jne 0x18000596c
mov eax, dword [rdi]
mov dword [rbx + rcx], eax
add qword [rbp - 0x38], r15
jmp 0x180005a43
cmp r15, 8
jne 0x180005982
mov rax, qword [rdi]
mov qword [rbx + rcx], rax
add qword [rbp - 0x38], r15
jmp 0x180005a43
test r15, r15
jle 0x180005a43
lea r14, [rbx + r15]
cmp r14, rbx
je 0x180005a2e
test r14, r14
jne 0x1800059c1
test rcx, rcx
je 0x1800059b0
mov rdx, rcx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov rcx, r13
jmp 0x180005a2e
test rcx, rcx
jne 0x1800059d4
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.180014cf0
jmp 0x180005a2b
mov rsi, qword [rbp - 0x30]
test rsi, rsi
cmovle rsi, r8
cmp rdx, r14
jl 0x1800059f9
sub rdx, r14
cmp rdx, rsi
jg 0x1800059f9
mov qword [rbp - 0x38], r14
lea rsi, vtable.CVolObject.0
jmp 0x180005a2e
mov rax, r14
cqo
idiv rsi
sub rsi, rdx
add rsi, r14
mov r8, rsi
mov rdx, rcx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x10]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], r14
lea rsi, vtable.CVolObject.0
mov rcx, rax
add rcx, rbx
mov r8, r15
mov rdx, rdi
call fcn.18001c470
lea r14, vtable.CVolMem.0
lea r15, [0x18003cf5c]
mov rdx, qword [rbp + 0x58]
test rdx, rdx
jne 0x180005a63
mov rdx, r15
cmp qword [rbp + 0x88], 0
cmovne rdx, qword [rbp + 0x78]
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x180005a79
mov rax, r15
cmp qword [rbp - 0x38], 0
cmovne rax, qword [rbp - 0x48]
sub rdx, rax
nop dword [rax]
movzx ebx, word [rax]
movzx ecx, word [rax + rdx]
sub ebx, ecx
jne 0x180005a93
add rax, 2
test ecx, ecx
jne 0x180005a80
lea rax, [rbp - 0x60]
mov qword [rbp + 0x258], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x180005ab6
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
test ebx, ebx
jne 0x180005af9
lea rcx, [rbp - 0x20]
call fcn.18000f2d0
movsxd r8, eax
xor edx, edx
lea ecx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r12
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
cdqe
cmp r12, rax
jl 0x180005861
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0xa0]
call fcn.18000f9a0
mov r12, r13
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
test eax, eax
jle 0x180005df5
mov rcx, qword [rbp + 0xd8]
test rdx, rdx
cmove rcx, r13
movsxd rax, r12d
mov rdi, qword [rcx + rax*8]
test rdi, rdi
cmove rdi, r15
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
lea rdx, vtable.CWString.0
mov qword [rbp - 0x80], rdx
lea rax, [rbp - 0x60]
mov qword [rbp + 0x250], rax
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov r8d, 0x40
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x30], 0xfe
mov qword [rbp - 0x80], rdx
test rdi, rdi
je 0x180005d2a
cmp word [rdi], 0
je 0x180005d2a
mov rcx, qword [rbp - 0x48]
mov rbx, qword [rbp - 0x38]
cmp rbx, 2
jb 0x180005bf5
cmp word [rbx + rcx - 2], 0
jne 0x180005bf5
sub rbx, 2
mov qword [rbp - 0x38], rbx
mov rax, 0xffffffffffffffff
nop dword [rax]
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x180005c00
lea r15, [rax*2 + 2]
mov rdx, qword [rbp - 0x40]
mov rax, rdx
sub rax, rbx
cmp rax, r15
jl 0x180005c62
cmp r15, 2
jne 0x180005c38
movzx eax, word [rdi]
mov word [rbx + rcx], ax
add qword [rbp - 0x38], r15
jmp 0x180005d23
cmp r15, 4
jne 0x180005c4c
mov eax, dword [rdi]
mov dword [rbx + rcx], eax
add qword [rbp - 0x38], r15
jmp 0x180005d23
cmp r15, 8
jne 0x180005c62
mov rax, qword [rdi]
mov qword [rbx + rcx], rax
add qword [rbp - 0x38], r15
jmp 0x180005d23
test r15, r15
jle 0x180005d23
lea r14, [r15 + rbx]
cmp r14, rbx
je 0x180005d0e
test r14, r14
jne 0x180005ca1
test rcx, rcx
je 0x180005c90
mov rdx, rcx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov rcx, r13
jmp 0x180005d0e
test rcx, rcx
jne 0x180005cb4
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.180014cf0
jmp 0x180005d0b
mov rsi, qword [rbp - 0x30]
test rsi, rsi
cmovle rsi, r8
cmp rdx, r14
jl 0x180005cd9
sub rdx, r14
cmp rdx, rsi
jg 0x180005cd9
mov qword [rbp - 0x38], r14
lea rsi, vtable.CVolObject.0
jmp 0x180005d0e
mov rax, r14
cqo
idiv rsi
sub rsi, rdx
add rsi, r14
mov r8, rsi
mov rdx, rcx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x10]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], r14
lea rsi, vtable.CVolObject.0
mov rcx, rax
add rcx, rbx
mov r8, r15
mov rdx, rdi
call fcn.18001c470
lea r14, vtable.CVolMem.0
lea r15, [0x18003cf5c]
mov rdx, qword [rbp - 8]
test rdx, rdx
jne 0x180005d40
mov rdx, r15
cmp qword [rbp + 0x28], 0
cmovne rdx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x180005d56
mov rax, r15
cmp qword [rbp - 0x38], 0
cmovne rax, qword [rbp - 0x48]
sub rdx, rax
nop dword [rax]
movzx ebx, word [rax]
movzx ecx, word [rax + rdx]
sub ebx, ecx
jne 0x180005d73
add rax, 2
test ecx, ecx
jne 0x180005d60
lea rax, [rbp - 0x60]
mov qword [rbp + 0x258], rax
mov qword [rbp - 0x60], r14
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x180005d96
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x18]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x80], rsi
test ebx, ebx
jne 0x180005dd9
lea rcx, [rbp - 0x20]
call fcn.18000f2d0
movsxd r8, eax
xor edx, edx
lea ecx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
xor edx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r12
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
shr rax, 3
cdqe
cmp r12, rax
jl 0x180005b41
lea rax, [rbp]
mov qword [rbp + 0x250], rax
mov qword [rbp], r14
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x180005e17
lea rcx, [rbp]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x20], r13
mov qword [rbp], rsi
mov qword [rbp - 0x20], rsi
lea rax, [rbp + 0x60]
mov qword [rbp + 0x250], rax
mov qword [rbp + 0x60], r14
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x180005e4d
lea rcx, [rbp + 0x60]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x40], rsi
lea rax, [rbp + 0x118]
mov qword [rbp + 0x250], rax
lea rax, [rbp + 0x118]
mov qword [rbp + 0x258], rax
mov qword [rbp + 0x118], r14
mov rdx, qword [rbp + 0x130]
test rdx, rdx
je 0x180005ea3
lea rcx, [rbp + 0x118]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x130], r13
mov qword [rbp + 0x140], r13
mov qword [rbp + 0x138], r13
mov qword [rbp + 0x118], rsi
mov qword [rbp + 0x100], rsi
lea rcx, [rbp + 0xa0]
call fcn.180001e20
add rsp, 0x368
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret