Function at 0x18008cbf0
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.1800f25c0
sub rsp, rax
mov rax, qword [0x180124010]
xor rax, rsp
mov qword [rbp + 0x21b0], rax
cmp qword [0x180126e10], 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, [0x180126df8]
cmovae rcx, qword [0x180126df8]
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.180086ea0
test eax, eax
je 0x18008cd5b
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008ccfe
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008ccf9
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e3a4
mov rcx, r8
call fcn.1800caa30
mov qword [r12 + 0x10], rdi
mov byte [r12], dil
mov qword [r12 + 0x18], rsi
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x18008cd46
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x18008cd41
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e3a4
mov rcx, r8
call fcn.1800caa30
mov qword [r15 + 0x10], rdi
mov eax, 0xffffffff
mov qword [r15 + 0x18], rsi
mov byte [r15], dil
jmp 0x18008e1de
lea rdx, [0x180127038]
lea rcx, [rbp + 0x60]
call fcn.1800bd4e0
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.180089750
cmp qword [rax + 0x18], 0x10
jb 0x18008cd81
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.180062d40
mov rdx, qword [rbp + 0x38]
test eax, eax
setne bl
cmp rdx, 0x10
jb 0x18008cdf0
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cdeb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3bc
call fcn.1800caa30
test bl, bl
jne 0x18008ccc2
mov rcx, qword [rbp + 0xa0]
call fcn.18002b2a0
cmp eax, 0x64
jne 0x18008e19c
nop dword [rax]
mov rcx, qword [rbp + 0xa0]
xor edx, edx
call fcn.18002bec0
mov rcx, qword [rbp + 0xa0]
mov edx, 1
mov rbx, rax
call fcn.18002bec0
mov rcx, qword [rbp + 0xa0]
mov edx, 2
mov rdi, rax
call fcn.18002bec0
mov r13, rax
test rbx, rbx
je 0x18008e19c
test rdi, rdi
je 0x18008e19c
test rax, rax
je 0x18008e19c
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x18008ce70
test rcx, rcx
je 0x18008e187
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x18008ce90
test rax, rax
je 0x18008e187
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rax + r13], 0
jne 0x18008ceb0
test rax, rax
je 0x18008e187
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 0x18008cee0
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.1800bdba0
cmp rsi, 0x10
jb 0x18008cf31
mov rcx, qword [rbp + 0x130]
lea rdx, [rsi + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cf2c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3a4
call fcn.1800caa30
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.1800bdba0
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18008cfcd
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cfc8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3a4
call fcn.1800caa30
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 0x18008d000
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.1800bdba0
cmp r14, 0x10
jb 0x18008d050
mov rcx, qword [rbp + 0x190]
lea rdx, [r14 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d04b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3a4
call fcn.1800caa30
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 0x18008d09b
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x58], 0xf
movups xmmword [rbp - 0x70], xmm0
jmp 0x18008d114
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d0ef
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e3c8
mov rcx, rax
call fcn.1800caa38
mov rcx, rax
test rax, rax
je 0x18008e3a4
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d0fd
test rcx, rcx
je 0x18008d0fb
call fcn.1800caa38
jmp 0x18008d0fd
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800ce0c0
mov qword [rbp - 0x58], rdi
mov r8d, 2
mov qword [rbp - 0x60], rbx
lea rdx, [0x180112cdc]
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x70]
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
call fcn.1800bdba0
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.18008b370
test eax, eax
jle 0x18008d8e9
cmp r15, 0x10
lea rsi, [rbp + 0x130]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008d182
movups xmm0, xmmword [rsi]
mov qword [rsp + 0x68], 0xf
movups xmmword [rsp + 0x50], xmm0
jmp 0x18008d1fd
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d1d6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e3c8
mov rcx, rax
call fcn.1800caa38
mov rcx, rax
test rax, rax
je 0x18008e3a4
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d1e4
test rcx, rcx
je 0x18008d1e2
call fcn.1800caa38
jmp 0x18008d1e4
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x50], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800ce0c0
mov qword [rsp + 0x68], rdi
xor esi, esi
mov qword [rsp + 0x60], rbx
lea rdx, [0x180112cdc]
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.1800bdba0
lea rdx, [rsp + 0x50]
mov qword [rbp + 0x10], rsi
lea rcx, [rbp - 0x20]
mov qword [rbp + 0x18], 0xf
mov byte [rbp], sil
call fcn.18008b370
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.1800bdba0
mov rax, qword [rbp + 0x188]
cmp rax, 0x10
jb 0x18008d2ac
mov rcx, qword [rbp + 0x170]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d2a7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3a4
call fcn.1800caa30
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, [0x180112cdc]
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.1800bdba0
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], sil
jne 0x18008d310
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x60]
call fcn.1800bd4e0
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.18008b370
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 0x18008e3da
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.1800bdba0
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18008d3d0
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d3cb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3c2
call fcn.1800caa30
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 0x18008d425
movups xmm0, xmmword [rsi]
mov qword [rbp - 8], 0xf
movups xmmword [rbp - 0x20], xmm0
jmp 0x18008d4a0
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d479
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e3c8
mov rcx, rax
call fcn.1800caa38
mov rcx, rax
test rax, rax
je 0x18008e3a4
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d487
test rcx, rcx
je 0x18008d485
call fcn.1800caa38
jmp 0x18008d487
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x20], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800ce0c0
mov qword [rbp - 8], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x10], rbx
lea rdx, [0x180112ce0]
mov qword [rbp + 0x50], rdi
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
call fcn.1800bdba0
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x40]
call fcn.18008b370
test eax, eax
jle 0x18008d7ae
cmp r15, 0x10
lea rsi, [rbp + 0x130]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008d506
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x78], 0xf
movups xmmword [rsp + 0x70], xmm0
jmp 0x18008d582
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008d55a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008e3ce
mov rcx, rax
call fcn.1800caa38
mov rcx, rax
test rax, rax
je 0x18008e3aa
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008d568
test rcx, rcx
je 0x18008d566
call fcn.1800caa38
jmp 0x18008d568
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800ce0c0
mov qword [rbp - 0x78], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x80], rbx
lea rdx, [0x180112ce0]
mov qword [rbp + 0x30], rdi
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
call fcn.1800bdba0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.18008b370
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.1800bdba0
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 0x18008d61d
lea rcx, [rbp - 0x70]
call fcn.1800c3fa0
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.1800bd330
mov r8d, 2
lea rdx, [0x180112cdc]
lea rcx, [rbp - 0x70]
call fcn.1800bd330
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 0x18008d691
mov rax, rcx
sub rax, r8
cmp rax, r9
jb 0x18008d691
cmp rdx, 0x10
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x50]
cmovae r8, qword [rbp - 0x70]
call fcn.1800c2200
jmp 0x18008d6a9
cmp rcx, 0x10
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
cmovae rdx, qword [rsp + 0x50]
call fcn.1800bd330
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 0x18008d708
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d703
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3aa
call fcn.1800caa30
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 0x18008d759
mov rcx, qword [rbp - 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d754
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3aa
call fcn.1800caa30
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
cmp rdx, 0x10
jb 0x18008d8e9
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d8e4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3aa
jmp 0x18008d8e4
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 0x18008d7e2
lea rcx, [rsp + 0x50]
call fcn.1800c3fa0
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.1800bd330
mov r8d, 2
lea rdx, [0x180112cdc]
lea rcx, [rsp + 0x50]
call fcn.1800bd330
cmp r15, 0x10
lea rdx, [rbp + 0x130]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, r14
call fcn.1800bd330
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 0x18008d89e
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d891
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3d4
call fcn.1800caa30
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 0x18008d8e9
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008d8e4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3d4
call fcn.1800caa30
mov rdi, qword [rbp + 0xa0]
mov edx, 2
mov rcx, rdi
call fcn.18002ba10
mov rbx, rax
movzx eax, word [rax + 8]
test al, 0x10
jne 0x18008d93f
mov edx, 0x202
movzx ecx, ax
and cx, dx
cmp cx, dx
jne 0x18008d924
cmp byte [rbx + 0xa], 1
jne 0x18008d924
mov rax, qword [rbx + 0x10]
jmp 0x18008d932
test al, 1
jne 0x18008d937
mov dl, 1
mov rcx, rbx
call fcn.180025480
test rax, rax
jne 0x18008d93f
xor r14d, r14d
mov esi, r14d
jmp 0x18008d952
mov esi, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18008d94f
add esi, dword [rbx]
xor r14d, r14d
test rdi, rdi
je 0x18008d99c
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x84]
test rcx, rcx
jne 0x18008d96a
movzx eax, dl
jmp 0x18008d984
cmp byte [rcx + 0x50], 0
jne 0x18008d97f
cmp edx, 0xc0a
je 0x18008d97f
mov eax, dword [rcx + 0x48]
and eax, edx
jmp 0x18008d984
call fcn.180005e70
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x18008d99c
call qword [0x180124eb8]
cmp byte [r13], 0x76
jne 0x18008dbef
movzx eax, byte [r13 + 1]
cmp al, 0x31
jne 0x18008dbef
cmp byte [r13 + 2], 0x30
je 0x18008d9cd
cmp al, al
jne 0x18008dbef
cmp byte [r13 + 2], al
jne 0x18008dbef
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x50], r14d
call fcn.18008c850
test eax, eax
je 0x18008e208
mov edx, dword [rbp - 0x50]
lea r8, [rbp + 0x1b0]
call fcn.18008ca40
test eax, eax
je 0x18008e208
lea rax, [rbp + 0x1b0]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x18008da07
xor r9d, r9d
lea rdx, [0x180112c98]
xor r8d, r8d
lea rcx, [0x180129a50]
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
test eax, eax
jne 0x18008da52
mov rcx, qword [0x180129a50]
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 [0x180129a50]
lea rax, [rbp + 0x1b0]
mov dword [rsp + 0x30], r14d
lea rdx, [0x1801299f0]
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 [0x180129a80]
test r9, r9
jne 0x18008daaa
mov ecx, 0x400
call fcn.1800d3054
mov qword [0x180129a80], rax
mov r9, rax
test rax, rax
je 0x18008e208
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 [0x1801299f0]
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 [0x180129a80]
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 0x18008db91
lea rcx, [rsp + 0x70]
call fcn.1800bdba0
mov rax, qword [rbp + 0x168]
cmp rax, 0x10
jb 0x18008dce1
mov rcx, qword [rbp + 0x150]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008dcdc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b0
jmp 0x18008dcdc
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 0x18008dc5a
mov ebx, dword [rbp + 0xc0]
test ebx, ebx
je 0x18008dc4b
mov rdx, qword [rbp + 0xc8]
lea rcx, [rbp + 0x1b0]
mov r8d, ebx
call fcn.1800ce0c0
mov byte [rbp + rbx + 0x1b0], 0
mov eax, 1
jmp 0x18008dc5d
mov eax, r14d
test eax, eax
je 0x18008dcf8
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 0x18008dc84
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x70]
call fcn.1800bdba0
mov rax, qword [rbp + 0x168]
cmp rax, 0x10
jb 0x18008dce1
mov rcx, qword [rbp + 0x150]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008dcdc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3a4
call fcn.1800caa30
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 0x18008dd07
mov rax, qword [r12]
cmp qword [r12 + 0x10], 1
jne 0x18008dd18
cmp byte [rax], 0x30
jne 0x18008dd18
mov al, 1
jmp 0x18008dd1a
xor al, al
test al, al
je 0x18008e021
mov r8, qword [0x180126ba8]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [r8 + 1]
cmp rdx, 0x10
jb 0x18008dd5c
lea rcx, [rsp + 0x50]
call fcn.1800c3fa0
mov r8, qword [0x180126ba8]
mov qword [rsp + 0x60], r14
cmp qword [0x180126bb0], 0x10
lea rdx, [0x180126b98]
lea rcx, [rsp + 0x50]
cmovae rdx, qword [0x180126b98]
call fcn.1800bd330
mov r8d, 1
lea rdx, [0x180112ce8]
lea rcx, [rsp + 0x50]
call fcn.1800bd330
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.1800bd330
mov r8d, 1
lea rdx, [0x180112ce4]
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.1800bd330
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 [0x180126bb0]
movups xmmword [rbp], xmm0
movups xmmword [rbp - 0x20], xmm1
cmp rdx, 0x10
jb 0x18008de57
mov rcx, qword [0x180126b98]
inc rdx
cmp rdx, 0x1000
jb 0x18008de4a
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e3b6
mov rcx, r8
call fcn.1800caa30
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp - 0x20]
mov rdx, qword [rbp - 0x28]
movups xmmword [0x180126b98], xmm0
movups xmmword [0x180126ba8], xmm1
cmp rdx, 0x10
jb 0x18008dea0
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008de9b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b6
call fcn.1800caa30
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp rdx, 0x10
jb 0x18008deed
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008dee8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b6
call fcn.1800caa30
mov rdx, qword [0x180126ba8]
lea rcx, [rsp + 0x50]
inc rdx
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
call fcn.1800c0550
lea rdx, [0x180126b98]
lea rcx, [rsp + 0x50]
call fcn.1800bd3b0
lea rdx, [0x180112ce8]
lea rcx, [rsp + 0x50]
call fcn.1800c0600
lea r8, [rbp + 0x190]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x40]
call fcn.1800be060
mov rdx, rax
lea r8, [0x180112ce4]
lea rcx, [rbp + 0x20]
call fcn.1800be180
mov rdx, rax
lea rcx, [0x180126b98]
call fcn.1800bd450
lea rcx, [rbp + 0x20]
call fcn.1800bd3f0
lea rcx, [rbp + 0x40]
call fcn.1800bd3f0
lea rcx, [rsp + 0x50]
call fcn.1800bd3f0
lea r8, [0x180112ce8]
lea rdx, [0x180126b98]
lea rcx, [rsp + 0x70]
call fcn.1800be1e0
mov rdx, rax
lea r8, [rbp + 0x150]
lea rcx, [rbp + 0x40]
call fcn.1800be060
mov rdx, rax
lea r8, [0x180112ce4]
lea rcx, [rbp + 0x20]
call fcn.1800be180
mov rdx, rax
lea rcx, [0x180126b98]
call fcn.1800bd450
lea rcx, [rbp + 0x20]
call fcn.1800bd3f0
lea rcx, [rbp + 0x40]
call fcn.1800bd3f0
lea rcx, [rsp + 0x70]
call fcn.1800bd3f0
lea r8, [0x1801090cc]
lea rdx, [0x180126b98]
lea rcx, [rbp + 0x20]
call fcn.1800be1e0
mov rdx, rax
lea rcx, [0x180126b98]
call fcn.1800bd450
lea rcx, [rbp + 0x20]
call fcn.1800bd3f0
lea rdx, [0x180107eac]
mov rcx, r12
call fcn.1800be010
test al, al
je 0x18008e16f
lea r8, [0x180112cf4]
lea rdx, [0x180126b98]
lea rcx, [rbp + 0x60]
call fcn.1800be1e0
mov rdx, rax
lea r8, [0x180112cf0]
lea rcx, [rbp + 0x80]
call fcn.1800be180
mov r15, qword [rbp - 0x48]
lea rcx, [rbp - 0x20]
mov r8, r15
mov rdx, rax
call fcn.1800be060
mov rdx, rax
lea r8, [0x180112cf0]
lea rcx, [rbp]
call fcn.1800be180
mov rdx, rax
lea r8, [rbp + 0x130]
lea rcx, [rbp - 0x70]
call fcn.1800be060
mov rdx, rax
lea r8, [0x180112cf0]
lea rcx, [rbp - 0x40]
call fcn.1800be180
mov rdx, rax
lea r8, [rbp + 0x190]
lea rcx, [rsp + 0x50]
call fcn.1800be060
mov rdx, rax
lea r8, [0x180112cf0]
lea rcx, [rsp + 0x70]
call fcn.1800be180
mov rdx, rax
lea r8, [rbp + 0x150]
lea rcx, [rbp + 0x40]
call fcn.1800be060
mov rdx, rax
lea r8, [0x180112cec]
lea rcx, [rbp + 0x20]
call fcn.1800be180
mov rdx, rax
lea rcx, [0x180126b98]
call fcn.1800bd450
lea rcx, [rbp + 0x20]
call fcn.1800bd3f0
lea rcx, [rbp + 0x40]
call fcn.1800bd3f0
lea rcx, [rsp + 0x70]
call fcn.1800bd3f0
lea rcx, [rsp + 0x50]
call fcn.1800bd3f0
lea rcx, [rbp - 0x40]
call fcn.1800bd3f0
lea rcx, [rbp - 0x70]
call fcn.1800bd3f0
lea rcx, [rbp]
call fcn.1800bd3f0
lea rcx, [rbp - 0x20]
call fcn.1800bd3f0
lea rcx, [rbp + 0x80]
call fcn.1800bd3f0
lea rcx, [rbp + 0x60]
call fcn.1800bd3f0
jmp 0x18008e173
mov r15, qword [rbp - 0x48]
inc dword [0x180129a78]
mov rsi, qword [rbp + 0x148]
mov r14, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0xa0]
call fcn.18002b2a0
cmp eax, 0x64
je 0x18008ce10
lea rcx, [rbp + 0x170]
call fcn.1800bd3f0
lea rcx, [rbp + 0x150]
call fcn.1800bd3f0
lea rcx, [rbp + 0x190]
call fcn.1800bd3f0
lea rcx, [rbp + 0x130]
call fcn.1800bd3f0
mov rcx, r12
call fcn.1800bd3f0
mov rcx, r15
call fcn.1800bd3f0
xor eax, eax
mov rcx, qword [rbp + 0x21b0]
xor rcx, rsp
call fcn.1800ca770
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 0x18008e249
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e244
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b0
call fcn.1800caa30
mov rdx, qword [rbp + 0x168]
cmp rdx, 0x10
jb 0x18008e28a
mov rcx, qword [rbp + 0x150]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e285
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b0
call fcn.1800caa30
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18008e2c5
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e2c0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b0
call fcn.1800caa30
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18008e306
mov rcx, qword [rbp + 0x130]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e301
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008e3b0
call fcn.1800caa30
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008e33e
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008e339
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e3b0
mov rcx, r8
call fcn.1800caa30
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 0x18008e38b
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008e386
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008e3b0
mov rcx, r8
call fcn.1800caa30
mov qword [rbx + 0x10], r14
mov eax, 0xffffffff
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
jmp 0x18008e1de
call fcn.1800d9c90
int3
call fcn.1800d9c90
int3
call fcn.1800d9c90
int3
call fcn.1800d9c90
int3
call fcn.1800d9c90
int3
call fcn.1800d9c90
int3
call fcn.1800883a0
int3
call fcn.1800883a0
int3
call fcn.1800d9c90
int3
call fcn.1800bdd90
int3