Function at 0x18008cc50
Capabilities:
Encrypt data using dpapi
Encrypt or decrypt data via bcrypt

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x21c0]
mov eax, 0x22c0
call fcn.1800f5be0
sub rsp, rax
mov rax, qword [0x180128010]
xor rax, rsp
mov qword [rbp + 0x21b0], rax
cmp qword [0x18012ae10], 0x10
mov esi, 0xf
mov r12, rcx
mov qword [rbp - 0x48], rdx
mov r15, rdx
mov qword [rbp + 0x148], rsi
mov edx, esi
mov qword [rbp + 0x1a8], rsi
mov qword [rbp + 0x168], rdx
lea rcx, [0x18012adf8]
cmovae rcx, qword [0x18012adf8]
mov r14d, esi
xor edi, edi
mov qword [rbp + 0x188], rdx
xor r9d, r9d
mov qword [rbp + 0x140], rdi
lea rdx, [rbp + 0xa8]
mov byte [rbp + 0x130], dil
mov qword [rbp + 0x1a0], rdi
lea r8d, [rdi + 6]
mov byte [rbp + 0x190], dil
mov qword [rbp + 0x160], rdi
mov byte [rbp + 0x150], dil
mov qword [rbp + 0x180], rdi
mov byte [rbp + 0x170], dil
call fcn.180086e70
test eax, eax
je 0x18008cdbb
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008cd5e
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008cd59
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e404
mov rcx, r8
call fcn.1800cd020
mov qword [r12 + 0x10], rdi
mov byte [r12], dil
mov qword [r12 + 0x18], rsi
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x18008cda6
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x18008cda1
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e404
mov rcx, r8
call fcn.1800cd020
mov qword [r15 + 0x10], rdi
mov eax, 0xffffffff
mov qword [r15 + 0x18], rsi
mov byte [r15], dil
jmp 0x18008e23e
lea rdx, [0x18012b018]
lea rcx, [rbp + 0x60]
call fcn.1800bfad0
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180089770
cmp qword [rax + 0x18], 0x10
jb 0x18008cde1
mov rax, qword [rax]
mov r9d, 1
mov qword [rsp + 0x30], rdi
lea rcx, [rbp + 0xa0]
mov rdx, rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0xa8]
lea r8d, [r9 - 2]
mov qword [rsp + 0x20], rdi
call fcn.180062d10
mov rdx, qword [rbp + 0x38]
test eax, eax
setne bl
cmp rdx, 0x10
jb 0x18008ce50
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008ce4b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e41c
call fcn.1800cd020
test bl, bl
jne 0x18008cd22
mov rcx, qword [rbp + 0xa0]
call fcn.18002b270
cmp eax, 0x64
jne 0x18008e1fc
nop dword [rax]
mov rcx, qword [rbp + 0xa0]
xor edx, edx
call fcn.18002be90
mov rcx, qword [rbp + 0xa0]
mov edx, 1
mov rbx, rax
call fcn.18002be90
mov rcx, qword [rbp + 0xa0]
mov edx, 2
mov rdi, rax
call fcn.18002be90
mov r13, rax
test rbx, rbx
je 0x18008e1fc
test rdi, rdi
je 0x18008e1fc
test rax, rax
je 0x18008e1fc
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x18008ced0
test rcx, rcx
je 0x18008e1e7
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x18008cef0
test rax, rax
je 0x18008e1e7
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rax + r13], 0
jne 0x18008cf10
test rax, rax
je 0x18008e1e7
xor r15d, r15d
mov qword [rbp - 0x78], 0xf
mov qword [rbp - 0x80], r15
mov r8, 0xffffffffffffffff
mov byte [rsp + 0x70], r15b
nop
inc r8
cmp byte [rbx + r8], r15b
jne 0x18008cf40
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.1800c0190
cmp rsi, 0x10
jb 0x18008cf91
mov rcx, qword [rbp + 0x130]
lea rdx, [rsi + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cf8c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e404
call fcn.1800cd020
movups xmm0, xmmword [rsp + 0x70]
lea rdx, [rbp + 0x130]
mov qword [rsp + 0x60], r15
movups xmm1, xmmword [rbp - 0x80]
mov qword [rsp + 0x68], 0xf
movq rcx, xmm0
mov byte [rsp + 0x50], r15b
movups xmmword [rbp + 0x130], xmm0
movdqa xmm0, xmm1
movq r8, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
movups xmmword [rbp + 0x140], xmm1
cmovae rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.1800c0190
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18008d02d
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d028
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e404
call fcn.1800cd020
movups xmm0, xmmword [rsp + 0x50]
mov qword [rbp - 0x30], r15
mov r8, 0xffffffffffffffff
movups xmm1, xmmword [rsp + 0x60]
mov qword [rbp - 0x28], 0xf
movups xmmword [rbp + 0x130], xmm0
mov byte [rbp - 0x40], r15b
movups xmmword [rbp + 0x140], xmm1
nop dword [rax]
inc r8
cmp byte [rdi + r8], r15b
jne 0x18008d060
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.1800c0190
cmp r14, 0x10
jb 0x18008d0b0
mov rcx, qword [rbp + 0x190]
lea rdx, [r14 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d0ab
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e404
call fcn.1800cd020
mov r15, qword [rsp + 0x68]
lea rsi, [rbp + 0x130]
movups xmm0, xmmword [rbp - 0x40]
mov r14, qword [rsp + 0x50]
cmp r15, 0x10
movups xmm1, xmmword [rbp - 0x30]
mov rbx, qword [rsp + 0x60]
cmovae rsi, r14
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm1
cmp rbx, 0x10
jae 0x18008d0fb
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x58], 0xf
movups xmmword [rbp - 0x70], xmm0
jmp 0x18008d174
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d14f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e428
mov rcx, rax
call fcn.1800cd028
mov rcx, rax
test rax, rax
je 0x18008e404
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d15d
test rcx, rcx
je 0x18008d15b
call fcn.1800cd028
jmp 0x18008d15d
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d06b0
mov qword [rbp - 0x58], rdi
mov r8d, 2
mov qword [rbp - 0x60], rbx
lea rdx, [0x180116c9c]
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x70]
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
call fcn.1800c0190
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.18008b390
test eax, eax
jle 0x18008d949
cmp r15, 0x10
lea rsi, [rbp + 0x130]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008d1e2
movups xmm0, xmmword [rsi]
mov qword [rsp + 0x68], 0xf
movups xmmword [rsp + 0x50], xmm0
jmp 0x18008d25d
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d236
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e428
mov rcx, rax
call fcn.1800cd028
mov rcx, rax
test rax, rax
je 0x18008e404
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d244
test rcx, rcx
je 0x18008d242
call fcn.1800cd028
jmp 0x18008d244
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x50], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d06b0
mov qword [rsp + 0x68], rdi
xor esi, esi
mov qword [rsp + 0x60], rbx
lea rdx, [0x180116c9c]
mov qword [rbp - 0x10], rsi
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], sil
lea r8d, [rsi + 2]
call fcn.1800c0190
lea rdx, [rsp + 0x50]
mov qword [rbp + 0x10], rsi
lea rcx, [rbp - 0x20]
mov qword [rbp + 0x18], 0xf
mov byte [rbp], sil
call fcn.18008b390
dec eax
lea rdx, [rbp + 0x130]
movsxd r8, eax
lea rcx, [rbp]
cmp rbx, r8
cmovb r8, rbx
cmp r15, 0x10
cmovae rdx, r14
call fcn.1800c0190
mov rax, qword [rbp + 0x188]
cmp rax, 0x10
jb 0x18008d30c
mov rcx, qword [rbp + 0x170]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d307
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e404
call fcn.1800cd020
movups xmm0, xmmword [rbp]
cmp qword [rbp + 0x148], 0x10
lea rdi, [rbp + 0x130]
movups xmm1, xmmword [rbp + 0x10]
cmovae rdi, qword [rbp + 0x130]
lea rdx, [0x180116c9c]
mov r8d, 2
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x68], 0xf
movups xmmword [rbp + 0x170], xmm0
mov byte [rsp + 0x50], sil
movups xmmword [rbp + 0x180], xmm1
call fcn.1800c0190
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], sil
jne 0x18008d370
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1800bfad0
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.18008b390
inc eax
mov qword [rbp - 0x78], 0xf
movsxd rcx, eax
xor edi, edi
mov rax, qword [rbp + 0x140]
mov qword [rbp - 0x80], rdi
mov byte [rsp + 0x70], sil
cmp rax, rcx
jb 0x18008e43a
sub rax, rcx
lea rdx, [rbp + 0x130]
cmp rax, rbx
cmovb rbx, rax
cmp qword [rbp + 0x148], 0x10
mov r8, rbx
cmovae rdx, qword [rbp + 0x130]
add rdx, rcx
lea rcx, [rsp + 0x70]
call fcn.1800c0190
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18008d430
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d42b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e422
call fcn.1800cd020
movups xmm0, xmmword [rsp + 0x70]
lea rsi, [rbp + 0x130]
movups xmm1, xmmword [rbp - 0x80]
movq r14, xmm0
movups xmmword [rbp + 0x130], xmm0
movdqa xmm0, xmm1
movq rbx, xmm1
psrldq xmm0, 8
movq r15, xmm0
cmp r15, 0x10
movups xmmword [rbp + 0x140], xmm1
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008d485
movups xmm0, xmmword [rsi]
mov qword [rbp - 8], 0xf
movups xmmword [rbp - 0x20], xmm0
jmp 0x18008d500
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d4d9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e428
mov rcx, rax
call fcn.1800cd028
mov rcx, rax
test rax, rax
je 0x18008e404
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d4e7
test rcx, rcx
je 0x18008d4e5
call fcn.1800cd028
jmp 0x18008d4e7
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x20], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d06b0
mov qword [rbp - 8], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x10], rbx
lea rdx, [0x180116ca0]
mov qword [rbp + 0x50], rdi
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
call fcn.1800c0190
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x40]
call fcn.18008b390
test eax, eax
jle 0x18008d80e
cmp r15, 0x10
lea rsi, [rbp + 0x130]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008d566
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x78], 0xf
movups xmmword [rsp + 0x70], xmm0
jmp 0x18008d5e2
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d5ba
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e42e
mov rcx, rax
call fcn.1800cd028
mov rcx, rax
test rax, rax
je 0x18008e40a
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d5c8
test rcx, rcx
je 0x18008d5c6
call fcn.1800cd028
jmp 0x18008d5c8
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d06b0
mov qword [rbp - 0x78], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x80], rbx
lea rdx, [0x180116ca0]
mov qword [rbp + 0x30], rdi
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
call fcn.1800c0190
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.18008b390
dec eax
mov qword [rsp + 0x60], rdi
movsxd r8, eax
lea rdx, [rbp + 0x130]
cmp rbx, r8
mov qword [rsp + 0x68], 0xf
lea rcx, [rsp + 0x50]
mov byte [rsp + 0x50], 0
cmovb r8, rbx
cmp r15, 0x10
cmovae rdx, r14
call fcn.1800c0190
mov rbx, qword [rbp + 0x10]
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
lea rdx, [rbx + 2]
cmp rdx, 0x10
jb 0x18008d67d
lea rcx, [rbp - 0x70]
call fcn.1800c6590
mov qword [rbp - 0x60], rdi
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp + 0x170]
mov r8, rbx
lea rcx, [rbp - 0x70]
cmovae rdx, qword [rbp]
call fcn.1800bf920
mov r8d, 2
lea rdx, [0x180116c9c]
lea rcx, [rbp - 0x70]
call fcn.1800bf920
mov rdx, qword [rbp - 0x58]
mov r9, qword [rbp - 0x60]
mov rax, rdx
mov r8, qword [rsp + 0x60]
sub rax, r9
mov rcx, qword [rsp + 0x68]
cmp r8, rax
jbe 0x18008d6f1
mov rax, rcx
sub rax, r8
cmp rax, r9
jb 0x18008d6f1
cmp rdx, 0x10
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x50]
cmovae r8, qword [rbp - 0x70]
call fcn.1800c47f0
jmp 0x18008d709
cmp rcx, 0x10
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
cmovae rdx, qword [rsp + 0x50]
call fcn.1800bf920
movups xmm0, xmmword [rax]
mov rdx, qword [rbp + 0x148]
movups xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rax + 0x10]
mov byte [rax], 0
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], rdi
movups xmmword [rbp], xmm0
cmp rdx, 0x10
jb 0x18008d768
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d763
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e40a
call fcn.1800cd020
movups xmm0, xmmword [rbp - 0x20]
mov rdx, qword [rbp - 0x58]
movups xmm1, xmmword [rbp]
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm1
cmp rdx, 0x10
jb 0x18008d7b9
mov rcx, qword [rbp - 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d7b4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e40a
call fcn.1800cd020
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
cmp rdx, 0x10
jb 0x18008d949
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d944
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e40a
jmp 0x18008d944
mov qword [rsp + 0x60], rdi
mov rdi, qword [rbp + 0x10]
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [rdi + 2]
cmp rdx, 0x10
jb 0x18008d842
lea rcx, [rsp + 0x50]
call fcn.1800c6590
mov qword [rsp + 0x60], 0
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp + 0x170]
mov r8, rdi
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp]
call fcn.1800bf920
mov r8d, 2
lea rdx, [0x180116c9c]
lea rcx, [rsp + 0x50]
call fcn.1800bf920
cmp r15, 0x10
lea rdx, [rbp + 0x130]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, r14
call fcn.1800bf920
mov rdx, qword [rbp + 0x148]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movups xmmword [rbp], xmm0
movups xmmword [rbp - 0x20], xmm1
cmp rdx, 0x10
jb 0x18008d8fe
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d8f1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e434
call fcn.1800cd020
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp - 0x20]
mov rdx, qword [rsp + 0x68]
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm1
cmp rdx, 0x10
jb 0x18008d949
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d944
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e434
call fcn.1800cd020
mov rdi, qword [rbp + 0xa0]
mov edx, 2
mov rcx, rdi
call fcn.18002b9e0
mov rbx, rax
movzx eax, word [rax + 8]
test al, 0x10
jne 0x18008d99f
mov edx, 0x202
movzx ecx, ax
and cx, dx
cmp cx, dx
jne 0x18008d984
cmp byte [rbx + 0xa], 1
jne 0x18008d984
mov rax, qword [rbx + 0x10]
jmp 0x18008d992
test al, 1
jne 0x18008d997
mov dl, 1
mov rcx, rbx
call fcn.180025450
test rax, rax
jne 0x18008d99f
xor r14d, r14d
mov esi, r14d
jmp 0x18008d9b2
mov esi, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18008d9af
add esi, dword [rbx]
xor r14d, r14d
test rdi, rdi
je 0x18008d9fc
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x84]
test rcx, rcx
jne 0x18008d9ca
movzx eax, dl
jmp 0x18008d9e4
cmp byte [rcx + 0x50], 0
jne 0x18008d9df
cmp edx, 0xc0a
je 0x18008d9df
mov eax, dword [rcx + 0x48]
and eax, edx
jmp 0x18008d9e4
call fcn.180005e40
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x18008d9fc
call qword [0x180128eb8]
cmp byte [r13], 0x76
jne 0x18008dc4f
movzx eax, byte [r13 + 1]
cmp al, 0x31
jne 0x18008dc4f
cmp byte [r13 + 2], 0x30
je 0x18008da2d
cmp al, al
jne 0x18008dc4f
cmp byte [r13 + 2], al
jne 0x18008dc4f
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x50], r14d
call fcn.18008c8b0
test eax, eax
je 0x18008e268
mov edx, dword [rbp - 0x50]
lea r8, [rbp + 0x1b0]
call fcn.18008caa0
test eax, eax
je 0x18008e268
lea rax, [rbp + 0x1b0]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x18008da67
xor r9d, r9d
lea rdx, [0x180116c58]
xor r8d, r8d
lea rcx, [0x18012da30]
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
test eax, eax
jne 0x18008dab2
mov rcx, qword [0x18012da30]
lea r9d, [rax + 0x20]
lea r8, str.ChainingModeGCM
mov dword [rsp + 0x20], r14d
lea rdx, str.ChainingMode
call qword [sym.imp.bcrypt.dll_BCryptSetProperty]
mov rcx, qword [0x18012da30]
lea rax, [rbp + 0x1b0]
mov dword [rsp + 0x30], r14d
lea rdx, [0x18012d9d0]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.bcrypt.dll_BCryptGenerateSymmetricKey]
mov r9, qword [0x18012da60]
test r9, r9
jne 0x18008db0a
mov ecx, 0x400
call fcn.1800d5644
mov qword [0x18012da60], rax
mov r9, rax
test rax, rax
je 0x18008e268
xorps xmm0, xmm0
mov dword [rsp + 0x48], r14d
xor eax, eax
mov dword [rbp + 0xa8], r14d
mov qword [rbp + 0x120], rax
lea rcx, [r13 - 0x10]
movups xmmword [rbp + 0xd0], xmm0
lea rax, [r13 + 3]
mov dword [rbp + 0xd0], 0x58
mov qword [rbp + 0xd8], rax
lea r8d, [rsi - 0x1f]
movsxd rax, esi
lea rdx, [r13 + 0xf]
add rcx, rax
mov dword [rbp + 0xd4], 1
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x400
mov qword [rsp + 0x30], r9
lea r9, [rbp + 0xd0]
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0xf8], rcx
mov rcx, qword [0x18012d9d0]
movups xmmword [rbp + 0xe0], xmm0
mov dword [rsp + 0x28], r14d
movups xmmword [rbp + 0x100], xmm0
mov qword [rsp + 0x20], r14
movups xmmword [rbp + 0x110], xmm0
mov dword [rbp + 0xe0], 0xc
mov dword [rbp + 0x100], 0x10
call qword [sym.imp.bcrypt.dll_BCryptDecrypt]
mov eax, dword [rbp + 0xa8]
mov r8, 0xffffffffffffffff
mov rdx, qword [0x18012da60]
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov byte [rax + rdx], 0
inc r8
cmp byte [rdx + r8], 0
jne 0x18008dbf1
lea rcx, [rsp + 0x70]
call fcn.1800c0190
mov rax, qword [rbp + 0x168]
cmp rax, 0x10
jb 0x18008dd41
mov rcx, qword [rbp + 0x150]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008dd3c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e410
jmp 0x18008dd3c
lea rax, [rbp + 0xc0]
mov qword [rbp + 0xb8], r13
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0xb0]
mov dword [rsp + 0x28], r14d
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
xor edx, edx
mov dword [rbp + 0xb0], esi
call qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x18008dcba
mov ebx, dword [rbp + 0xc0]
test ebx, ebx
je 0x18008dcab
mov rdx, qword [rbp + 0xc8]
lea rcx, [rbp + 0x1b0]
mov r8d, ebx
call fcn.1800d06b0
mov byte [rbp + rbx + 0x1b0], 0
mov eax, 1
jmp 0x18008dcbd
mov eax, r14d
test eax, eax
je 0x18008dd58
mov qword [rbp - 0x80], r14
lea rax, [rbp + 0x1b0]
mov qword [rbp - 0x78], 0xf
mov r8, 0xffffffffffffffff
mov byte [rsp + 0x70], 0
inc r8
cmp byte [rax + r8], 0
jne 0x18008dce4
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x70]
call fcn.1800c0190
mov rax, qword [rbp + 0x168]
cmp rax, 0x10
jb 0x18008dd41
mov rcx, qword [rbp + 0x150]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008dd3c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e404
call fcn.1800cd020
movups xmm1, xmmword [rbp - 0x80]
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp + 0x160], xmm1
movups xmmword [rbp + 0x150], xmm0
cmp qword [r12 + 0x18], 0x10
mov rax, r12
jb 0x18008dd67
mov rax, qword [r12]
cmp qword [r12 + 0x10], 1
jne 0x18008dd78
cmp byte [rax], 0x30
jne 0x18008dd78
mov al, 1
jmp 0x18008dd7a
xor al, al
test al, al
je 0x18008e081
mov r8, qword [0x18012aba8]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [r8 + 1]
cmp rdx, 0x10
jb 0x18008ddbc
lea rcx, [rsp + 0x50]
call fcn.1800c6590
mov r8, qword [0x18012aba8]
mov qword [rsp + 0x60], r14
cmp qword [0x18012abb0], 0x10
lea rdx, [0x18012ab98]
lea rcx, [rsp + 0x50]
cmovae rdx, qword [0x18012ab98]
call fcn.1800bf920
mov r8d, 1
lea rdx, [0x180116ca8]
lea rcx, [rsp + 0x50]
call fcn.1800bf920
cmp qword [rbp + 0x148], 0x10
lea rdx, [rbp + 0x130]
mov r8, qword [rbp + 0x140]
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp + 0x130]
call fcn.1800bf920
mov r8d, 1
lea rdx, [0x180116ca4]
lea rcx, [rbp - 0x40]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
call fcn.1800bf920
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [0x18012abb0]
movups xmmword [rbp], xmm0
movups xmmword [rbp - 0x20], xmm1
cmp rdx, 0x10
jb 0x18008deb7
mov rcx, qword [0x18012ab98]
inc rdx
cmp rdx, 0x1000
jb 0x18008deaa
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e416
mov rcx, r8
call fcn.1800cd020
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
movups xmmword [0x18012ab98], xmm0
movups xmmword [0x18012aba8], xmm1
cmp rdx, 0x10
jb 0x18008df00
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008defb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e416
call fcn.1800cd020
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp rdx, 0x10
jb 0x18008df4d
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008df48
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e416
call fcn.1800cd020
mov rdx, qword [0x18012aba8]
lea rcx, [rsp + 0x50]
inc rdx
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
call fcn.1800c2b40
lea rdx, [0x18012ab98]
lea rcx, [rsp + 0x50]
call fcn.1800bf9a0
lea rdx, [0x180116ca8]
lea rcx, [rsp + 0x50]
call fcn.1800c2bf0
lea r8, [rbp + 0x190]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x40]
call fcn.1800c0650
mov rdx, rax
lea r8, [0x180116ca4]
lea rcx, [rbp + 0x20]
call fcn.1800c0770
mov rdx, rax
lea rcx, [0x18012ab98]
call fcn.1800bfa40
lea rcx, [rbp + 0x20]
call fcn.1800bf9e0
lea rcx, [rbp + 0x40]
call fcn.1800bf9e0
lea rcx, [rsp + 0x50]
call fcn.1800bf9e0
lea r8, [0x180116ca8]
lea rdx, [0x18012ab98]
lea rcx, [rsp + 0x70]
call fcn.1800c07d0
mov rdx, rax
lea r8, [rbp + 0x150]
lea rcx, [rbp + 0x40]
call fcn.1800c0650
mov rdx, rax
lea r8, [0x180116ca4]
lea rcx, [rbp + 0x20]
call fcn.1800c0770
mov rdx, rax
lea rcx, [0x18012ab98]
call fcn.1800bfa40
lea rcx, [rbp + 0x20]
call fcn.1800bf9e0
lea rcx, [rbp + 0x40]
call fcn.1800bf9e0
lea rcx, [rsp + 0x70]
call fcn.1800bf9e0
lea r8, [0x18010d0cc]
lea rdx, [0x18012ab98]
lea rcx, [rbp + 0x20]
call fcn.1800c07d0
mov rdx, rax
lea rcx, [0x18012ab98]
call fcn.1800bfa40
lea rcx, [rbp + 0x20]
call fcn.1800bf9e0
lea rdx, [0x18010beac]
mov rcx, r12
call fcn.1800c0600
test al, al
je 0x18008e1cf
lea r8, [0x180116cb4]
lea rdx, [0x18012ab98]
lea rcx, [rbp + 0x60]
call fcn.1800c07d0
mov rdx, rax
lea r8, [0x180116cb0]
lea rcx, [rbp + 0x80]
call fcn.1800c0770
mov r15, qword [rbp - 0x48]
lea rcx, [rbp - 0x20]
mov r8, r15
mov rdx, rax
call fcn.1800c0650
mov rdx, rax
lea r8, [0x180116cb0]
lea rcx, [rbp]
call fcn.1800c0770
mov rdx, rax
lea r8, [rbp + 0x130]
lea rcx, [rbp - 0x70]
call fcn.1800c0650
mov rdx, rax
lea r8, [0x180116cb0]
lea rcx, [rbp - 0x40]
call fcn.1800c0770
mov rdx, rax
lea r8, [rbp + 0x190]
lea rcx, [rsp + 0x50]
call fcn.1800c0650
mov rdx, rax
lea r8, [0x180116cb0]
lea rcx, [rsp + 0x70]
call fcn.1800c0770
mov rdx, rax
lea r8, [rbp + 0x150]
lea rcx, [rbp + 0x40]
call fcn.1800c0650
mov rdx, rax
lea r8, [0x180116cac]
lea rcx, [rbp + 0x20]
call fcn.1800c0770
mov rdx, rax
lea rcx, [0x18012ab98]
call fcn.1800bfa40
lea rcx, [rbp + 0x20]
call fcn.1800bf9e0
lea rcx, [rbp + 0x40]
call fcn.1800bf9e0
lea rcx, [rsp + 0x70]
call fcn.1800bf9e0
lea rcx, [rsp + 0x50]
call fcn.1800bf9e0
lea rcx, [rbp - 0x40]
call fcn.1800bf9e0
lea rcx, [rbp - 0x70]
call fcn.1800bf9e0
lea rcx, [rbp]
call fcn.1800bf9e0
lea rcx, [rbp - 0x20]
call fcn.1800bf9e0
lea rcx, [rbp + 0x80]
call fcn.1800bf9e0
lea rcx, [rbp + 0x60]
call fcn.1800bf9e0
jmp 0x18008e1d3
mov r15, qword [rbp - 0x48]
inc dword [0x18012da58]
mov rsi, qword [rbp + 0x148]
mov r14, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0xa0]
call fcn.18002b270
cmp eax, 0x64
je 0x18008ce70
lea rcx, [rbp + 0x170]
call fcn.1800bf9e0
lea rcx, [rbp + 0x150]
call fcn.1800bf9e0
lea rcx, [rbp + 0x190]
call fcn.1800bf9e0
lea rcx, [rbp + 0x130]
call fcn.1800bf9e0
mov rcx, r12
call fcn.1800bf9e0
mov rcx, r15
call fcn.1800bf9e0
xor eax, eax
mov rcx, qword [rbp + 0x21b0]
xor rcx, rsp
call fcn.1800ccd60
mov rbx, qword [rsp + 0x2310]
add rsp, 0x22c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008e2a9
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e2a4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e410
call fcn.1800cd020
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x18008e2ea
mov rcx, qword [rbp + 0x150]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e2e5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e410
call fcn.1800cd020
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18008e325
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e320
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e410
call fcn.1800cd020
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18008e366
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e361
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e410
call fcn.1800cd020
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008e39e
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008e399
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e410
mov rcx, r8
call fcn.1800cd020
mov rbx, qword [rbp - 0x48]
mov qword [r12 + 0x10], r14
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x18008e3eb
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008e3e6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e410
mov rcx, r8
call fcn.1800cd020
mov qword [rbx + 0x10], r14
mov eax, 0xffffffff
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
jmp 0x18008e23e
call fcn.1800dce48
int3
call fcn.1800dce48
int3
call fcn.1800dce48
int3
call fcn.1800dce48
int3
call fcn.1800dce48
int3
call fcn.1800dce48
int3
call fcn.1800883c0
int3
call fcn.1800883c0
int3
call fcn.1800dce48
int3
call fcn.1800c0380
int3