Function at 0x140007100
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x140057010]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r14, rcx
mov qword [rbp - 0x40], rcx
xor r12d, r12d
mov dword [rsp + 0x78], r12d
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x80], rax
lea r13, vtable.CVolObject.0
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
lea rsi, vtable.CVolMem.0
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], 0x40
mov qword [rcx], r13
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
lea rax, vtable.CWString.0
mov qword [rcx], rax
lea r15, [rcx + 0x20]
mov qword [rbp - 0x48], r15
mov qword [r15], r13
mov qword [r15 + 8], r12
mov qword [r15 + 0x10], r12
mov qword [r15], rsi
mov qword [r15 + 0x18], r12
mov qword [r15 + 0x28], r12
mov qword [r15 + 0x20], r12
mov qword [r15 + 0x30], 0x40
mov qword [rcx + 0x18], r12
mov qword [rcx + 0x50], 0xfe
mov dword [rsp + 0x78], 1
mov qword [rbp - 0x10], r12
mov ecx, r12d
mov qword [rbp - 8], rcx
mov dword [rbp + 0x40], 0x67452301
mov dword [rbp + 0x44], 0xefcdab89
mov dword [rbp + 0x48], 0x98badcfe
mov dword [rbp + 0x4c], 0x10325476
mov rdi, qword [rdx + 0x28]
test rdi, rdi
je 0x14000725c
mov rbx, qword [rdx + 0x18]
cmp rdi, 0x40
jb 0x140007237
mov rsi, rdi
shr rsi, 6
imul rax, rsi, 0xffffffffffffffc0
add rdi, rax
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.140020740
add rbx, 0x40
add qword [rbp - 0x10], 0x40
sub rsi, 1
jne 0x140007211
mov rcx, qword [rbp - 8]
lea rsi, vtable.CVolMem.0
test rdi, rdi
je 0x14000725c
nop dword [rax]
movzx eax, byte [rbx]
mov byte [rbp + rcx], al
mov rcx, qword [rbp - 8]
inc rcx
mov qword [rbp - 8], rcx
lea rbx, [rbx + 1]
sub rdi, 1
jne 0x140007240
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x10]
call fcn.140020f30
nop
lea rbx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rbx, qword [rbp - 0x38]
mov eax, dword [rbp - 0x28]
inc eax
movsxd rdi, eax
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], 0x40
mov qword [rsp + 0x20], rsi
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
sub rax, rsi
cmp rax, rdi
jl 0x14000736f
cmp rdi, 1
jne 0x140007307
test rbx, rbx
jne 0x1400072f2
xor cl, cl
mov rax, qword [rsp + 0x38]
mov byte [rsi + rax], cl
inc qword [rsp + 0x48]
jmp 0x1400073c5
movzx ecx, byte [rbx]
mov rax, qword [rsp + 0x38]
mov byte [rsi + rax], cl
inc qword [rsp + 0x48]
jmp 0x1400073c5
cmp rdi, 2
jne 0x14000732d
test rbx, rbx
movzx ecx, r12w
je 0x140007319
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x38]
mov word [rsi + rax], cx
add qword [rsp + 0x48], 2
jmp 0x1400073c5
cmp rdi, 4
jne 0x14000734d
test rbx, rbx
mov ecx, r12d
je 0x14000733d
mov ecx, dword [rbx]
mov rax, qword [rsp + 0x38]
mov dword [rsi + rax], ecx
add qword [rsp + 0x48], 4
jmp 0x1400073c5
cmp rdi, 8
jne 0x14000736f
test rbx, rbx
mov rcx, r12
je 0x14000735e
mov rcx, qword [rbx]
mov rax, qword [rsp + 0x38]
mov qword [rsi + rax], rcx
add qword [rsp + 0x48], 8
jmp 0x1400073c5
test rdi, rdi
jle 0x1400073c5
lea rdx, [rdi + rsi]
cmp rdx, rsi
jne 0x140007384
mov rax, qword [rsp + 0x38]
jmp 0x1400073a7
test rdx, rdx
jne 0x14000739d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov rax, r12
jmp 0x1400073a7
lea rcx, [rsp + 0x20]
call fcn.14001e300
lea rcx, [rax + rsi]
mov r8, rdi
test rbx, rbx
je 0x1400073bd
mov rdx, rbx
call fcn.1400271a0
jmp 0x1400073c5
xor edx, edx
call fcn.140023920
nop
lea rcx, [rbp - 0x80]
mov rax, qword [rbp - 0x80]
call qword [rax + 0x88]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x80]
call fcn.140004ca0
nop
lea rdi, vtable.CVolMem.0
mov qword [rsp + 0x20], rdi
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140007405
lea rcx, [rsp + 0x20]
mov rax, qword [rsp + 0x20]
call qword [rax + 0x18]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x20], r13
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x20]
call fcn.140019170
mov rbx, rax
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x88]
mov rax, qword [rbx + 8]
mov qword [r14 + 8], rax
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0x10], rax
mov rax, qword [rbx + 0x18]
mov qword [r14 + 0x18], rax
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x88]
lea rdx, [rbx + 0x20]
mov rcx, r15
call fcn.140004ca0
nop
lea rax, [rsp + 0x40]
mov qword [rbp - 0x48], rax
mov qword [rsp + 0x40], rdi
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14000748c
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x18]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x20], r13
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1400074dc
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400074d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000753f
call fcn.140021b84
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov qword [rbp - 0x80], rdi
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x140007505
lea rcx, [rbp - 0x80]
mov r8, qword [rbp - 0x80]
call qword [r8 + 0x18]
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x80], r13
mov rax, r14
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140021650
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140027cc0
int3