Function at 0x18006a190
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 0x10], 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
sub rsp, 0x30
lea eax, [r9 + r9*2]
mov ebx, r9d
shl eax, 5
mov rdi, r8
mov dword [rsp + 0x24], eax
mov rsi, rdx
mov r14d, r9d
cmp r9d, eax
ja 0x18006a469
movzx ebx, byte [rsp + 0x88]
mov rbp, qword [rsp + 0x28]
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x28]
mov r13d, dword [rsp + 0x88]
mov dword [rsp + 0x20], ebx
xor edx, edx
cmp r14d, 0x57c
ja 0x18006a3d8
je 0x18006a3bc
mov eax, r14d
sub eax, 0x6c
je 0x18006a399
sub eax, 8
je 0x18006a386
sub eax, 0x22
je 0x18006a283
cmp eax, 0x89
jne 0x18006a260
mov eax, dword [0x18009d17c]
mov ebx, edx
shl eax, 6
test eax, eax
jle 0x18006a25c
nop word [rax + rax]
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 0x6c]
call fcn.18003d940
mov eax, dword [0x18009d17c]
inc ebx
shl eax, 6
cmp ebx, eax
jl 0x18006a240
mov ebx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x88]
lea eax, [rax + rax*2]
lea r14d, [r14 + rax*4]
cmp r14d, dword [rsp + 0x24]
ja 0x18006a469
mov rcx, qword [rsp + 0x70]
jmp 0x18006a1f1
cmp qword [rsi], 0
jne 0x18006a28e
mov qword [rdi], rdx
jmp 0x18006a260
mov ebx, 0x96
cmp ebx, 0x96
je 0x18006a34f
cmp ebx, 0x3390
je 0x18006a33c
cmp ebx, 0x668a
je 0x18006a2d4
cmp ebx, 0x9984
jne 0x18006a36f
movups xmm0, xmmword [rsi + 8]
movups xmmword [rdi + 8], xmm0
movups xmm1, xmmword [rsi + 0x18]
movups xmmword [rdi + 0x18], xmm1
jmp 0x18006a36f
movups xmm0, xmmword [rsi + 0x28]
movups xmmword [rdi + 0x28], xmm0
movups xmm1, xmmword [rsi + 0x38]
movups xmmword [rdi + 0x38], xmm1
movups xmm0, xmmword [rsi + 0x48]
movups xmmword [rdi + 0x48], xmm0
movups xmm1, xmmword [rsi + 0x58]
movups xmmword [rdi + 0x58], xmm1
movups xmm0, xmmword [rsi + 0x68]
movups xmmword [rdi + 0x68], xmm0
movups xmm1, xmmword [rsi + 0x78]
movups xmmword [rdi + 0x78], xmm1
movups xmm0, xmmword [rsi + 0x88]
movups xmmword [rdi + 0x88], xmm0
movups xmm1, xmmword [rsi + 0x98]
movups xmmword [rdi + 0x98], xmm1
movups xmm0, xmmword [rsi + 0xa8]
movups xmmword [rdi + 0xa8], xmm0
mov eax, dword [rsi + 0xb8]
mov dword [rdi + 0xb8], eax
jmp 0x18006a36f
mov rdx, qword [rsi]
mov r8d, 0x10000
mov rcx, qword [rdi]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x18006a36a
lea r8, [rsp + 0x28]
mov qword [rsp + 0x28], 0x10000
mov edx, 0xba
call fcn.180080ef0
mov qword [rdi], rax
mov rcx, qword [rsp + 0x70]
add ebx, 0x32fa
cmp ebx, 0xcbe8
jbe 0x18006a293
jmp 0x18006a25c
mov bl, 1
mov dword [rsp + 0x20], ebx
call qword [sym.imp.WINMM.dll_auxGetNumDevs]
mov ebp, eax
jmp 0x18006a260
test rdi, rdi
je 0x18006a469
movups xmm0, xmmword [0x180087510]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [0x180087520]
movups xmmword [rdi + 0x10], xmm1
jmp 0x18006a260
xorps xmm0, xmm0
movups xmmword [rdi + 0x28], xmm0
movups xmmword [rdi + 0x38], xmm0
movups xmmword [rdi + 0x48], xmm0
movups xmmword [rdi + 0x58], xmm0
mov qword [rdi + 0x20], rdx
jmp 0x18006a260
cmp r14d, 0x5e4
je 0x18006a457
cmp r14d, 0xb54
je 0x18006a400
cmp r14d, 0x10c4
jne 0x18006a260
xor eax, eax
lock cmpxchg dword [rdi + 0xc], edx
jmp 0x18006a470
test bl, bl
je 0x18006a260
mov ebx, 0x3d
nop dword [rax]
mov eax, ebx
sub eax, 0x3a
je 0x18006a438
sub eax, 1
je 0x18006a433
sub eax, 1
je 0x18006a42b
cmp eax, 1
jne 0x18006a44b
mov rbp, rdx
jmp 0x18006a44b
mov r13d, edx
mov r12, rdx
jmp 0x18006a44b
mov r15, rdx
jmp 0x18006a44b
mov r9, r15
mov r8, r12
mov edx, r13d
mov ecx, ebp
call qword [sym.imp.WINMM.dll_auxOutMessage]
xor edx, edx
dec ebx
cmp ebx, 0x39
ja 0x18006a410
jmp 0x18006a25c
test rbp, rbp
movzx ebx, bl
cmove ebx, edx
mov dword [rsp + 0x20], ebx
jmp 0x18006a260
mov eax, dword [rsp + 0x88]
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret