Function at 0x1400cbe30
Capabilities:
Hash data via bcrypt

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1ff0]
mov eax, 0x20f0
call fcn.140001a50
sub rsp, rax
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x2128], rbx
mov qword [rsp + 0x2130], rsi
mov qword [rsp + 0x2138], rdi
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1fe0], rax
mov rdi, rcx
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x78], r12
lea r13d, [r12 + 1]
cmp byte [rcx + 0xb3c4], r12b
je 0x1400cbf9a
mov rax, qword [rcx + 0xb3c8]
add rax, 8
cmp qword [rcx + 0xb3a8], rax
jle 0x1400cbf9a
mov r15b, r13b
call fcn.1400cc810
mov rax, qword [rdi]
lea r8d, [r12 + 0x10]
lea rdx, [rbp - 0x58]
mov rcx, rdi
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
cmp eax, 0x10
je 0x1400cbf03
mov rcx, rdi
call fcn.1400cafd0
nop
jmp 0x1400cc7dc
lea rbx, [rdi + 0x1030]
lea rcx, [rdi + 0x6904]
mov r9, qword [rdi + 0x6860]
add r9, 0x4028
lea rax, [rbp - 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov eax, dword [rdi + 0x6900]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor edx, edx
lea r8d, [rdx + 5]
mov rcx, rbx
call fcn.1400cfc7c
cmp byte [rdi + 0x68fc], r12b
je 0x1400cbf94
lea rdx, [rdi + 0x6914]
mov r8d, 8
lea rcx, [rbp - 0x68]
call qword [sym.imp.msvcrt.dll_memcmp]
test eax, eax
je 0x1400cbf94
mov byte [rdi + 0xb3d1], r13b
mov dword [0x140173d98], 0xb
add dword [0x140173d9c], r13d
jmp 0x1400cbefe
mov qword [rbp - 0x78], rbx
jmp 0x1400cbf9d
mov r15b, r12b
mov edx, 7
lea rcx, [rsp + 0x50]
call fcn.1400d6068
cmp rax, 7
jae 0x1400cbfbf
mov rcx, rdi
call fcn.1400cafd0
jmp 0x1400cc7cc
mov byte [rdi + 0x6894], r12b
lea rcx, [rsp + 0x50]
call fcn.1400d61ac
mov dword [rdi + 0x6884], eax
mov eax, 4
cmp qword [rsp + 0x78], rax
jbe 0x1400cbffe
mov rcx, qword [rsp + 0x50]
test byte [rcx + rax], 0x80
je 0x1400cbff9
add rax, r13
cmp rax, qword [rsp + 0x78]
jb 0x1400cbfe7
jmp 0x1400cbffe
lea ebx, [rax - 3]
jmp 0x1400cc001
mov ebx, r12d
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
test rax, rax
je 0x1400cc7a5
test ebx, ebx
je 0x1400cc7a5
lea ecx, [rax - 3]
lea r14d, [rax + 4]
add r14d, ebx
add ecx, ebx
js 0x1400cc7a5
cmp r14d, 7
jb 0x1400cc7a5
movsxd rdx, ecx
lea rcx, [rsp + 0x50]
call fcn.1400d6068
mov eax, r14d
mov r8, qword [rsp + 0x78]
cmp r8, rax
jb 0x1400cbfb2
or esi, 0xffffffff
cmp r8, 4
jbe 0x1400cc088
lea rax, vtable.micro::qsec::QCRC32.0
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], esi
add r8, 0xfffffffffffffffc
mov rdx, qword [rsp + 0x50]
add rdx, 4
lea rcx, [rbp - 0x68]
call fcn.1400e9028
mov esi, dword [rbp - 0x60]
not esi
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov rbx, rax
mov dword [rdi + 0x6888], eax
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov dword [rdi + 0x688c], eax
shr eax, 2
and al, r13b
mov byte [rdi + 0x6894], al
mov dword [rdi + 0x6890], r14d
mov dword [rdi + 0x687c], ebx
cmp dword [rdi + 0x6884], esi
setne al
mov r14d, 3
test al, al
je 0x1400cc12a
mov byte [rdi + 0xb3d0], r13b
mov eax, dword [0x140173d98]
cmp eax, 0xb
cmovne eax, r14d
mov dword [0x140173d98], eax
add dword [0x140173d9c], r13d
mov byte [rdi + 0xb3d0], r13b
mov eax, dword [0x140173d98]
cmp eax, 0xb
cmovne eax, r14d
mov dword [0x140173d98], eax
add dword [0x140173d9c], r13d
test r15b, r15b
je 0x1400cc12a
mov byte [rdi + 0xb3d1], r13b
jmp 0x1400cc7cc
mov r15, r12
mov esi, dword [rdi + 0x688c]
test r13b, sil
je 0x1400cc154
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov r15, rax
mov ecx, dword [rdi + 0x6890]
cmp rax, rcx
jae 0x1400cc7ab
mov rbx, r12
test sil, 2
je 0x1400cc16a
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov rbx, rax
mov edx, dword [rdi + 0x6890]
cmp byte [rdi + 0xb3c4], r12b
je 0x1400cc19a
mov ecx, edx
not rcx
add rcx, r13
and ecx, 0xf
add rdx, rcx
cmp dword [rdi + 0xb3b8], r14d
jne 0x1400cc196
add rdx, 0x10
jmp 0x1400cc19a
add rdx, 8
mov eax, edx
add rax, qword [rdi + 0xb3a8]
add rax, rbx
mov qword [rdi + 0xb3b0], rax
mov ecx, dword [rdi + 0x6888]
cmp ecx, r13d
je 0x1400cc69a
jle 0x1400cc77e
cmp ecx, r14d
jle 0x1400cc394
mov esi, 4
cmp ecx, esi
je 0x1400cc21e
cmp ecx, 5
jne 0x1400cc77e
movups xmm0, xmmword [rdi + 0x6884]
movups xmmword [rdi + 0x8c38], xmm0
mov eax, dword [rdi + 0x6894]
mov dword [rdi + 0x8c48], eax
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
and al, r13b
mov byte [rdi + 0x8c54], al
mov word [rdi + 0x8c56], r12w
mov byte [rdi + 0x8c55], r12b
jmp 0x1400cc77e
movups xmm0, xmmword [rdi + 0x6884]
movups xmmword [rdi + 0x68e8], xmm0
mov eax, dword [rdi + 0x6894]
mov dword [rdi + 0x68f8], eax
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
test eax, eax
je 0x1400cc257
mov eax, dword [0x140173d98]
test eax, eax
cmove eax, r13d
jmp 0x1400cc7bf
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
and al, r13b
mov byte [rdi + 0x68fc], al
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rbp - 0x80]
cmp rcx, qword [rsp + 0x78]
jae 0x1400cc28a
mov rax, rcx
add rcx, r13
mov qword [rbp - 0x80], rcx
movzx ecx, byte [rdx + rax]
jmp 0x1400cc28d
mov ecx, r12d
movzx eax, cl
mov dword [rdi + 0x6900], eax
cmp eax, 0x18
jbe 0x1400cc2c5
mov eax, dword [0x140173d98]
test eax, eax
cmove eax, r13d
mov dword [0x140173d98], eax
add dword [0x140173d9c], r13d
test rdx, rdx
je 0x1400cc7dc
mov rcx, rdx
jmp 0x1400cc7d6
lea rdx, [rdi + 0x6904]
mov r8d, reloc.SHELL32.dll_ILFindLastID
lea rcx, [rsp + 0x50]
call fcn.1400d6244
cmp byte [rdi + 0x68fc], r12b
je 0x1400cc388
lea rbx, [rdi + 0x6914]
mov r15d, 8
mov r8d, r15d
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1400d6244
mov r8, rsi
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x50]
call fcn.1400d6244
xor r8d, r8d
lea rdx, [0x140132c08]
lea rcx, [rbp - 0x58]
call fcn.1400eaa4c
lea rax, vtable.micro::qsec::QSha256.0
mov qword [rbp - 0x58], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.1400eaaf0
xor r9d, r9d
mov r8d, r15d
mov rdx, rbx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.bcrypt.dll_BCryptHashData]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x58]
call fcn.1400eab70
mov r8, rsi
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x68]
call qword [sym.imp.msvcrt.dll_memcmp]
test eax, eax
sete al
mov byte [rdi + 0x68fc], al
lea rcx, [rbp - 0x58]
call fcn.1400eaabc
mov byte [rdi + 0xb3c4], r13b
jmp 0x1400cc77e
lea rax, [rdi + 0x6920]
lea rsi, [rdi + 0x8c78]
cmp ecx, 2
cmove rsi, rax
mov qword [rsi + 0x1028], r12
mov byte [rsi + 0x10], r12b
mov dword [rsi + 0x1070], r12d
mov qword [rsi + 0x1040], r12
mov qword [rsi + 0x1050], r12
mov qword [rsi + 0x1048], r12
mov qword [rsi + 0x1098], r12
mov dword [rsi + 0x1c], r12d
mov byte [rsi + 0x10a0], r12b
mov byte [rsi + 0x10c1], r12b
mov byte [rsi + 0x10ca], r12b
mov qword [rsi + 0x10ec], r12
mov qword [rsi + 0x10f8], r12
mov word [rsi + 0x1100], r12w
mov byte [rsi + 0x1102], r12b
mov dword [rsi + 0x1108], r12d
mov byte [rsi + 0x210d], r12b
movups xmm0, xmmword [rdi + 0x6884]
movups xmmword [rsi], xmm0
mov eax, dword [rdi + 0x6894]
mov dword [rsi + 0x10], eax
cmp dword [rdi + 0x6888], 2
sete r13b
mov byte [rsi + 0x1101], 1
mov qword [rsi + 0x1058], rbx
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov r12, rax
mov dword [rsi + 0x1094], eax
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov qword [rsi + 0x1060], rax
mov ecx, r12d
shr ecx, 3
and cl, 1
mov byte [rsi + 0x109a], cl
je 0x1400cc48d
movabs rax, 0x7fffffff7fffffff
mov qword [rsi + 0x1060], rax
mov rax, qword [rsi + 0x1060]
cmp rbx, rax
cmovg rax, rbx
mov qword [rsi + 0x1068], rax
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov dword [rsi + 0x1c], eax
test r12b, 2
je 0x1400cc4dd
lea rcx, [rsp + 0x50]
call fcn.1400d61ac
mov r11d, eax
movabs rax, 0x2b6109100
add rax, r11
imul rcx, rax, 0x989680
mov qword [rsi + 0x1040], rcx
and dword [rsi + 0x1070], 0
test byte [rsi + 0x1094], 4
je 0x1400cc507
mov dword [rsi + 0x1070], 1
lea rcx, [rsp + 0x50]
call fcn.1400d61ac
mov dword [rsi + 0x1074], eax
and dword [rsi + 0x1108], 0
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov rbx, rax
mov ecx, eax
shr ecx, 7
and cl, 7
mov byte [rsi + 0x1a], cl
mov cl, al
and cl, 0x3f
mov byte [rsi + 0x19], cl
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov r12, rax
mov byte [rsi + 0x18], al
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov r8, rax
mov ecx, dword [rdi + 0x688c]
shr ecx, 6
mov r9d, 1
and cl, r9b
mov byte [rsi + 0x1100], cl
mov dword [rsi + 0x1104], 2
cmp r12b, r9b
jne 0x1400cc57b
mov dword [rsi + 0x1104], r9d
jmp 0x1400cc58c
test r12b, r12b
jne 0x1400cc58c
xor r12d, r12d
mov dword [rsi + 0x1104], r12d
jmp 0x1400cc58f
xor r12d, r12d
mov ecx, dword [rsi + 8]
mov eax, ecx
shr eax, 3
and al, r9b
mov byte [rsi + 0x1098], al
mov eax, ecx
shr eax, 4
and al, r9b
mov byte [rsi + 0x1099], al
shr ecx, 5
and cl, r9b
mov byte [rsi + 0x1102], cl
test r13b, r13b
je 0x1400cc5c7
test bl, 0x40
mov eax, r9d
jne 0x1400cc5ca
mov eax, r12d
mov byte [rsi + 0x10f0], al
mov dl, byte [rsi + 0x1094]
and dl, r9b
mov byte [rsi + 0x10f1], dl
shr ebx, 0xa
and ebx, 0xf
mov eax, 0x20000
mov cl, bl
shl rax, cl
test dl, dl
cmovne rax, r12
mov qword [rsi + 0x10f8], rax
mov al, byte [rsi + 0x109b]
neg al
sbb ecx, ecx
and ecx, 5
mov dword [rsi + 0x109c], ecx
mov ebx, 0x1fff
cmp r8, rbx
cmovb rbx, r8
mov r8, rbx
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x50]
call fcn.1400d6244
mov byte [rbp + rbx - 0x20], r12b
mov r8d, 0x7ff
lea rdx, [rsi + 0x20]
lea rcx, [rbp - 0x20]
call fcn.1400d828c
test r15, r15
je 0x1400cc65c
mov r9, rsi
mov r8, r15
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.1400cc988
test r13b, r13b
je 0x1400cc671
mov rdx, rsi
mov rcx, rdi
call fcn.1400ccfd4
jmp 0x1400cc778
lea rdx, [0x140132248]
lea rcx, [rsi + 0x20]
call qword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
jne 0x1400cc778
lea r13d, [rax + 1]
mov byte [rdi + 0xb3be], r13b
jmp 0x1400cc77e
lea rbx, [rdi + 0x68a8]
mov word [rbx + 0x14], r12w
mov dword [rbx + 0x18], r12d
mov word [rbx + 0x1c], r12w
mov byte [rbx + 0x1e], r12b
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], r12
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], r12
movups xmm0, xmmword [rdi + 0x6884]
movups xmmword [rbx], xmm0
mov eax, dword [rdi + 0x6894]
mov dword [rbx + 0x10], eax
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov rdx, rax
mov sil, al
and sil, r13b
mov byte [rdi + 0xb3bd], sil
mov ecx, eax
shr ecx, 2
and cl, r13b
mov byte [rdi + 0xb3bc], cl
mov ecx, eax
shr ecx, 4
and cl, r13b
mov byte [rdi + 0xb3bf], cl
shr eax, 3
and al, r13b
mov byte [rdi + 0xb3c3], al
mov byte [rdi + 0xb3c0], r12b
mov byte [rdi + 0xb3c2], r13b
test dl, 2
je 0x1400cc73d
lea rcx, [rsp + 0x50]
call fcn.1400d61f4
mov dword [rdi + 0xb3e4], eax
jmp 0x1400cc744
mov dword [rdi + 0xb3e4], r12d
test sil, sil
je 0x1400cc755
cmp dword [rdi + 0xb3e4], r12d
mov eax, r13d
je 0x1400cc758
mov eax, r12d
mov byte [rdi + 0xb3c1], al
test r15, r15
je 0x1400cc77e
mov r9, rbx
mov r8, r15
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.1400cc988
jmp 0x1400cc77e
mov r13d, 1
mov rax, qword [rdi + 0xb3a8]
cmp qword [rdi + 0xb3b0], rax
jle 0x1400cc7ab
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400cc79e
call qword [sym.imp.msvcrt.dll_free]
mov rax, qword [rsp + 0x78]
jmp 0x1400cc7de
mov r14d, 3
mov byte [rdi + 0xb3d0], r13b
mov eax, dword [0x140173d98]
cmp eax, 0xb
cmovne eax, r14d
mov dword [0x140173d98], eax
add dword [0x140173d9c], r13d
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400cc7dc
call qword [sym.imp.msvcrt.dll_free]
xor eax, eax
mov rcx, qword [rbp + 0x1fe0]
xor rcx, rsp
call fcn.140001010
lea r11, [rsp + 0x20f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret