Function at 0x18008e5f0
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 - 0x2200]
mov eax, 0x2300
call fcn.1800f7540
sub rsp, rax
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rbp + 0x21f0], rax
cmp qword [0x18012ce70], 0x10
mov esi, 0xf
mov r12, rcx
mov qword [rbp - 0x48], rdx
mov r15, rdx
mov qword [rbp + 0x188], rsi
mov edx, esi
mov qword [rbp + 0x1e8], rsi
mov qword [rbp + 0x1a8], rdx
lea rcx, [0x18012ce58]
cmovae rcx, qword [0x18012ce58]
mov r14d, esi
xor edi, edi
mov qword [rbp + 0x1c8], rdx
xor r9d, r9d
mov qword [rbp + 0x180], rdi
lea rdx, [rbp + 0xe8]
mov byte [rbp + 0x170], dil
mov qword [rbp + 0x1e0], rdi
lea r8d, [rdi + 6]
mov byte [rbp + 0x1d0], dil
mov qword [rbp + 0x1a0], rdi
mov byte [rbp + 0x190], dil
mov qword [rbp + 0x1c0], rdi
mov byte [rbp + 0x1b0], dil
call fcn.180087de0
test eax, eax
je 0x18008e75b
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008e6fe
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008e6f9
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fdbd
mov rcx, r8
call fcn.1800cf9b0
mov qword [r12 + 0x10], rdi
mov byte [r12], dil
mov qword [r12 + 0x18], rsi
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x18008e746
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x18008e741
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fdbd
mov rcx, r8
call fcn.1800cf9b0
mov qword [r15 + 0x10], rdi
mov eax, 0xffffffff
mov qword [r15 + 0x18], rsi
mov byte [r15], dil
jmp 0x18008fbbb
lea rdx, [0x18012d078]
lea rcx, [rbp + 0xa0]
call fcn.1800c2490
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.18008b110
cmp qword [rax + 0x18], 0x10
jb 0x18008e784
mov rax, qword [rax]
mov r9d, 1
mov qword [rsp + 0x30], rdi
lea rcx, [rbp + 0xe0]
mov rdx, rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0xe8]
lea r8d, [r9 - 2]
mov qword [rsp + 0x20], rdi
call fcn.180063c80
mov rdx, qword [rbp + 0x78]
test eax, eax
setne bl
cmp rdx, 0x10
jb 0x18008e7f3
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e7ee
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd99
call fcn.1800cf9b0
test bl, bl
jne 0x18008e6c2
mov rcx, qword [rbp + 0xe0]
call fcn.18002c1e0
cmp eax, 0x64
jne 0x18008fb79
mov rcx, qword [rbp + 0xe0]
xor edx, edx
call fcn.18002ce00
mov rcx, qword [rbp + 0xe0]
mov edx, 1
mov rbx, rax
call fcn.18002ce00
mov rcx, qword [rbp + 0xe0]
mov edx, 2
mov rdi, rax
call fcn.18002ce00
mov r13, rax
test rbx, rbx
je 0x18008fb79
test rdi, rdi
je 0x18008fb79
test rax, rax
je 0x18008fb79
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x18008e870
test rcx, rcx
je 0x18008fb64
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x18008e890
test rax, rax
je 0x18008fb64
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rax + r13], 0
jne 0x18008e8b0
test rax, rax
je 0x18008fb64
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 0x18008e8e0
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.1800c2b50
cmp rsi, 0x10
jb 0x18008e931
mov rcx, qword [rbp + 0x170]
lea rdx, [rsi + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e92c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdbd
call fcn.1800cf9b0
movups xmm0, xmmword [rsp + 0x70]
lea rdx, [rbp + 0x170]
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 + 0x170], xmm0
movdqa xmm0, xmm1
movq r8, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
movups xmmword [rbp + 0x180], xmm1
cmovae rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.1800c2b50
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008e9cd
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e9c8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdbd
call fcn.1800cf9b0
movups xmm0, xmmword [rsp + 0x50]
mov qword [rbp + 0x10], r15
mov r8, 0xffffffffffffffff
movups xmm1, xmmword [rsp + 0x60]
mov qword [rbp + 0x18], 0xf
movups xmmword [rbp + 0x170], xmm0
mov byte [rbp], r15b
movups xmmword [rbp + 0x180], xmm1
nop dword [rax]
inc r8
cmp byte [rdi + r8], r15b
jne 0x18008ea00
mov rdx, rdi
lea rcx, [rbp]
call fcn.1800c2b50
cmp r14, 0x10
jb 0x18008ea50
mov rcx, qword [rbp + 0x1d0]
lea rdx, [r14 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008ea4b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdbd
call fcn.1800cf9b0
mov r15, qword [rsp + 0x68]
lea rsi, [rbp + 0x170]
movups xmm0, xmmword [rbp]
mov r14, qword [rsp + 0x50]
cmp r15, 0x10
movups xmm1, xmmword [rbp + 0x10]
mov rbx, qword [rsp + 0x60]
cmovae rsi, r14
movups xmmword [rbp + 0x1d0], xmm0
movups xmmword [rbp + 0x1e0], xmm1
cmp rbx, 0x10
jae 0x18008ea9b
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x58], 0xf
movups xmmword [rbp - 0x70], xmm0
jmp 0x18008eb14
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008eaef
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fda5
mov rcx, rax
call fcn.1800cf9b8
mov rcx, rax
test rax, rax
je 0x18008fdbd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008eafd
test rcx, rcx
je 0x18008eafb
call fcn.1800cf9b8
jmp 0x18008eafd
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d3040
mov qword [rbp - 0x58], rdi
mov r8d, 2
mov qword [rbp - 0x60], rbx
lea rdx, [0x180118dd4]
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x70]
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
call fcn.1800c2b50
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.18008cd30
test eax, eax
jle 0x18008f2ec
cmp r15, 0x10
lea rsi, [rbp + 0x170]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008eb82
movups xmm0, xmmword [rsi]
mov qword [rsp + 0x68], 0xf
movups xmmword [rsp + 0x50], xmm0
jmp 0x18008ebfd
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008ebd6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fda5
mov rcx, rax
call fcn.1800cf9b8
mov rcx, rax
test rax, rax
je 0x18008fdbd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008ebe4
test rcx, rcx
je 0x18008ebe2
call fcn.1800cf9b8
jmp 0x18008ebe4
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x50], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d3040
mov qword [rsp + 0x68], rdi
xor esi, esi
mov qword [rsp + 0x60], rbx
lea rdx, [0x180118dd4]
mov qword [rbp - 0x30], rsi
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], sil
lea r8d, [rsi + 2]
call fcn.1800c2b50
lea rdx, [rsp + 0x50]
mov qword [rbp - 0x10], rsi
lea rcx, [rbp - 0x40]
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], sil
call fcn.18008cd30
dec eax
lea rdx, [rbp + 0x170]
movsxd r8, eax
lea rcx, [rbp - 0x20]
cmp rbx, r8
cmovb r8, rbx
cmp r15, 0x10
cmovae rdx, r14
call fcn.1800c2b50
mov rax, qword [rbp + 0x1c8]
cmp rax, 0x10
jb 0x18008ecac
mov rcx, qword [rbp + 0x1b0]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008eca7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdbd
call fcn.1800cf9b0
movups xmm0, xmmword [rbp - 0x20]
cmp qword [rbp + 0x188], 0x10
lea rdi, [rbp + 0x170]
movups xmm1, xmmword [rbp - 0x10]
cmovae rdi, qword [rbp + 0x170]
lea rdx, [0x180118dd4]
mov r8d, 2
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x68], 0xf
movups xmmword [rbp + 0x1b0], xmm0
mov byte [rsp + 0x50], sil
movups xmmword [rbp + 0x1c0], xmm1
call fcn.1800c2b50
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], sil
jne 0x18008ed10
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0xa0]
call fcn.1800c2490
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.18008cd30
inc eax
mov qword [rbp - 0x78], 0xf
movsxd rcx, eax
xor edi, edi
mov rax, qword [rbp + 0x180]
mov qword [rbp - 0x80], rdi
mov byte [rsp + 0x70], sil
cmp rax, rcx
jb 0x18008fdb7
sub rax, rcx
lea rdx, [rbp + 0x170]
cmp rax, rbx
cmovb rbx, rax
cmp qword [rbp + 0x188], 0x10
mov r8, rbx
cmovae rdx, qword [rbp + 0x170]
add rdx, rcx
lea rcx, [rsp + 0x70]
call fcn.1800c2b50
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008edd3
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008edce
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd9f
call fcn.1800cf9b0
movups xmm0, xmmword [rsp + 0x70]
lea rsi, [rbp + 0x170]
movups xmm1, xmmword [rbp - 0x80]
movq r14, xmm0
movups xmmword [rbp + 0x170], xmm0
movdqa xmm0, xmm1
movq rbx, xmm1
psrldq xmm0, 8
movq r15, xmm0
cmp r15, 0x10
movups xmmword [rbp + 0x180], xmm1
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008ee28
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x28], 0xf
movups xmmword [rbp - 0x40], xmm0
jmp 0x18008eea3
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008ee7c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fda5
mov rcx, rax
call fcn.1800cf9b8
mov rcx, rax
test rax, rax
je 0x18008fdbd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008ee8a
test rcx, rcx
je 0x18008ee88
call fcn.1800cf9b8
jmp 0x18008ee8a
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x40], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d3040
mov qword [rbp - 0x28], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x30], rbx
lea rdx, [0x180118dd8]
mov qword [rbp + 0x30], rdi
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
call fcn.1800c2b50
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x20]
call fcn.18008cd30
test eax, eax
jle 0x18008f1b1
cmp r15, 0x10
lea rsi, [rbp + 0x170]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008ef09
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x78], 0xf
movups xmmword [rsp + 0x70], xmm0
jmp 0x18008ef85
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008ef5d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fdab
mov rcx, rax
call fcn.1800cf9b8
mov rcx, rax
test rax, rax
je 0x18008fd87
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008ef6b
test rcx, rcx
je 0x18008ef69
call fcn.1800cf9b8
jmp 0x18008ef6b
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d3040
mov qword [rbp - 0x78], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x80], rbx
lea rdx, [0x180118dd8]
mov qword [rbp + 0x50], rdi
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
call fcn.1800c2b50
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x40]
call fcn.18008cd30
dec eax
mov qword [rsp + 0x60], rdi
movsxd r8, eax
lea rdx, [rbp + 0x170]
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.1800c2b50
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 0x18008f020
lea rcx, [rbp - 0x70]
call fcn.1800c8f90
mov qword [rbp - 0x60], rdi
cmp qword [rbp - 8], 0x10
lea rdx, [rbp + 0x1b0]
mov r8, rbx
lea rcx, [rbp - 0x70]
cmovae rdx, qword [rbp - 0x20]
call fcn.1800c22c0
mov r8d, 2
lea rdx, [0x180118dd4]
lea rcx, [rbp - 0x70]
call fcn.1800c22c0
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 0x18008f094
mov rax, rcx
sub rax, r8
cmp rax, r9
jb 0x18008f094
cmp rdx, 0x10
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x50]
cmovae r8, qword [rbp - 0x70]
call fcn.1800c7240
jmp 0x18008f0ac
cmp rcx, 0x10
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
cmovae rdx, qword [rsp + 0x50]
call fcn.1800c22c0
movups xmm0, xmmword [rax]
mov rdx, qword [rbp + 0x188]
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax + 0x10]
mov byte [rax], 0
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], rdi
movups xmmword [rbp - 0x20], xmm0
cmp rdx, 0x10
jb 0x18008f10b
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f106
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd87
call fcn.1800cf9b0
movups xmm0, xmmword [rbp - 0x40]
mov rdx, qword [rbp - 0x58]
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm1
cmp rdx, 0x10
jb 0x18008f15c
mov rcx, qword [rbp - 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f157
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd87
call fcn.1800cf9b0
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
cmp rdx, 0x10
jb 0x18008f2ec
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f2e7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd87
jmp 0x18008f2e7
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 0x18008f1e5
lea rcx, [rsp + 0x50]
call fcn.1800c8f90
mov qword [rsp + 0x60], 0
cmp qword [rbp - 8], 0x10
lea rdx, [rbp + 0x1b0]
mov r8, rdi
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp - 0x20]
call fcn.1800c22c0
mov r8d, 2
lea rdx, [0x180118dd4]
lea rcx, [rsp + 0x50]
call fcn.1800c22c0
cmp r15, 0x10
lea rdx, [rbp + 0x170]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, r14
call fcn.1800c22c0
mov rdx, qword [rbp + 0x188]
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 - 0x20], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp rdx, 0x10
jb 0x18008f2a1
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f294
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdb1
call fcn.1800cf9b0
movups xmm0, xmmword [rbp - 0x20]
movups xmm1, xmmword [rbp - 0x40]
mov rdx, qword [rsp + 0x68]
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm1
cmp rdx, 0x10
jb 0x18008f2ec
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f2e7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdb1
call fcn.1800cf9b0
mov rdi, qword [rbp + 0xe0]
mov edx, 2
mov rcx, rdi
call fcn.18002c950
mov rbx, rax
movzx eax, word [rax + 8]
test al, 0x10
jne 0x18008f342
mov edx, 0x202
movzx ecx, ax
and cx, dx
cmp cx, dx
jne 0x18008f327
cmp byte [rbx + 0xa], 1
jne 0x18008f327
mov rax, qword [rbx + 0x10]
jmp 0x18008f335
test al, 1
jne 0x18008f33a
mov dl, 1
mov rcx, rbx
call fcn.1800263c0
test rax, rax
jne 0x18008f342
xor r14d, r14d
mov esi, r14d
jmp 0x18008f355
mov esi, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18008f352
add esi, dword [rbx]
xor r14d, r14d
test rdi, rdi
je 0x18008f39f
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x84]
test rcx, rcx
jne 0x18008f36d
movzx eax, dl
jmp 0x18008f387
cmp byte [rcx + 0x50], 0
jne 0x18008f382
cmp edx, 0xc0a
je 0x18008f382
mov eax, dword [rcx + 0x48]
and eax, edx
jmp 0x18008f387
call fcn.180006db0
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x18008f39f
call qword [0x18012aeb8]
cmp byte [r13], 0x76
jne 0x18008f5fe
movzx eax, byte [r13 + 1]
cmp al, 0x31
jne 0x18008f5fe
cmp byte [r13 + 2], 0x30
je 0x18008f3d0
cmp al, al
jne 0x18008f5fe
cmp byte [r13 + 2], al
jne 0x18008f5fe
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x50], r14d
call fcn.18008e250
test eax, eax
je 0x18008fbe5
mov edx, dword [rbp - 0x50]
lea r8, [rbp + 0x1f0]
call fcn.18008e440
test eax, eax
je 0x18008fbe5
lea rax, [rbp + 0x1f0]
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x18008f410
xor r9d, r9d
lea rdx, [0x180118d90]
xor r8d, r8d
lea rcx, [0x18012fb18]
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
test eax, eax
jne 0x18008f45b
mov rcx, qword [0x18012fb18]
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 [0x18012fb18]
lea rax, [rbp + 0x1f0]
mov dword [rsp + 0x30], r14d
lea rdx, [0x18012fab0]
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 [0x18012fb48]
test r9, r9
jne 0x18008f4b3
mov ecx, 0x400
call fcn.1800d7fd4
mov qword [0x18012fb48], rax
mov r9, rax
test rax, rax
je 0x18008fbe5
xorps xmm0, xmm0
mov dword [rsp + 0x48], r14d
xor eax, eax
mov dword [rbp + 0xe8], r14d
mov qword [rbp + 0x160], rax
lea rcx, [r13 - 0x10]
movups xmmword [rbp + 0x110], xmm0
lea rax, [r13 + 3]
mov dword [rbp + 0x110], 0x58
mov qword [rbp + 0x118], rax
lea r8d, [rsi - 0x1f]
movsxd rax, esi
lea rdx, [r13 + 0xf]
add rcx, rax
mov dword [rbp + 0x114], 1
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0x400
mov qword [rsp + 0x30], r9
lea r9, [rbp + 0x110]
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x138], rcx
mov rcx, qword [0x18012fab0]
movups xmmword [rbp + 0x120], xmm0
mov dword [rsp + 0x28], r14d
movups xmmword [rbp + 0x140], xmm0
mov qword [rsp + 0x20], r14
movups xmmword [rbp + 0x150], xmm0
mov dword [rbp + 0x120], 0xc
mov dword [rbp + 0x140], 0x10
call qword [sym.imp.bcrypt.dll_BCryptDecrypt]
mov eax, dword [rbp + 0xe8]
mov r8, 0xffffffffffffffff
mov rdx, qword [0x18012fb48]
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov byte [rax + rdx], 0
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18008f5a0
lea rcx, [rsp + 0x70]
call fcn.1800c2b50
mov rax, qword [rbp + 0x1a8]
cmp rax, 0x10
jb 0x18008f6f0
mov rcx, qword [rbp + 0x190]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f6eb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd8d
jmp 0x18008f6eb
lea rax, [rbp + 0x100]
mov qword [rbp + 0xf8], r13
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0xf0]
mov dword [rsp + 0x28], r14d
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
xor edx, edx
mov dword [rbp + 0xf0], esi
call qword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x18008f669
mov ebx, dword [rbp + 0x100]
test ebx, ebx
je 0x18008f65a
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x1f0]
mov r8d, ebx
call fcn.1800d3040
mov byte [rbp + rbx + 0x1f0], 0
mov eax, 1
jmp 0x18008f66c
mov eax, r14d
test eax, eax
je 0x18008f707
mov qword [rbp - 0x80], r14
lea rax, [rbp + 0x1f0]
mov qword [rbp - 0x78], 0xf
mov r8, 0xffffffffffffffff
mov byte [rsp + 0x70], 0
inc r8
cmp byte [rax + r8], 0
jne 0x18008f693
lea rdx, [rbp + 0x1f0]
lea rcx, [rsp + 0x70]
call fcn.1800c2b50
mov rax, qword [rbp + 0x1a8]
cmp rax, 0x10
jb 0x18008f6f0
mov rcx, qword [rbp + 0x190]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f6eb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fdbd
call fcn.1800cf9b0
movups xmm1, xmmword [rbp - 0x80]
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp + 0x1a0], xmm1
movups xmmword [rbp + 0x190], xmm0
cmp qword [r12 + 0x18], 0x10
mov rax, r12
jb 0x18008f716
mov rax, qword [r12]
cmp qword [r12 + 0x10], 1
jne 0x18008f727
cmp byte [rax], 0x30
jne 0x18008f727
mov al, 1
jmp 0x18008f729
xor al, al
test al, al
je 0x18008f9f8
mov rbx, qword [rbp + 0x180]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [rbx + 1]
cmp rdx, 0x10
jb 0x18008f764
lea rcx, [rsp + 0x50]
call fcn.1800c8f90
mov qword [rsp + 0x60], r14
mov r8d, 1
lea rdx, [0x180118de0]
lea rcx, [rsp + 0x50]
call fcn.1800c22c0
cmp qword [rbp + 0x188], 0x10
lea rdx, [rbp + 0x170]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp + 0x170]
call fcn.1800c22c0
mov r8d, 1
lea rdx, [0x180118ddc]
lea rcx, [rsp + 0x50]
call fcn.1800c22c0
lea rdx, [rbp + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
movq rcx, xmm0
mov qword [rax + 0x18], 0xf
movups xmmword [rbp + 0x80], xmm0
mov byte [rax], 0
movdqa xmm0, xmm1
movq r8, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
movups xmmword [rbp + 0x90], xmm1
cmovae rdx, rcx
lea rcx, [0x18012cb98]
call fcn.1800c22c0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x18008f84e
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f849
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd81
call fcn.1800cf9b0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18008f88b
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f886
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd81
call fcn.1800cf9b0
mov rbx, qword [rbp + 0x10]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
lea rdx, [rbx + 1]
cmp rdx, 0x10
jb 0x18008f8bb
lea rcx, [rsp + 0x50]
call fcn.1800c8f90
mov qword [rsp + 0x60], r14
mov r8d, 1
lea rdx, [0x180118de0]
lea rcx, [rsp + 0x50]
call fcn.1800c22c0
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp + 0x1d0]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp]
call fcn.1800c22c0
mov r8d, 1
lea rdx, [0x180118ddc]
lea rcx, [rsp + 0x50]
call fcn.1800c22c0
lea rdx, [rbp + 0x60]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
movq rcx, xmm0
mov qword [rax + 0x18], 0xf
movups xmmword [rbp + 0x60], xmm0
mov byte [rax], 0
movdqa xmm0, xmm1
movq r8, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
movups xmmword [rbp + 0x70], xmm1
cmovae rdx, rcx
lea rcx, [0x18012cb98]
call fcn.1800c22c0
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18008f990
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f98b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd93
call fcn.1800cf9b0
lea rcx, [rsp + 0x50]
call fcn.1800c23a0
lea r8, [rbp + 0x190]
lea rdx, [0x180118de0]
lea rcx, [rbp + 0x20]
call fcn.1800c31f0
mov rdx, rax
lea r8, [0x180118ddc]
lea rcx, [rbp + 0x40]
call fcn.1800c3290
mov rdx, rax
lea rcx, [0x18012cb98]
call fcn.1800c2360
lea rcx, [rbp + 0x40]
call fcn.1800c23a0
lea rcx, [rbp + 0x20]
call fcn.1800c23a0
lea rdx, [0x18010f10c]
lea rcx, [0x18012cb98]
call fcn.1800c2340
lea rdx, [0x18010deec]
mov rcx, r12
call fcn.1800c3080
test al, al
je 0x18008fb4c
lea r8, [0x180118dec]
lea rdx, [0x18012cb98]
lea rcx, [rbp + 0xa0]
call fcn.1800c32f0
mov rdx, rax
lea r8, [0x180118de8]
lea rcx, [rbp + 0xc0]
call fcn.1800c3290
mov r15, qword [rbp - 0x48]
lea rcx, [rbp - 0x40]
mov r8, r15
mov rdx, rax
call fcn.1800c30d0
mov rdx, rax
lea r8, [0x180118de8]
lea rcx, [rbp - 0x20]
call fcn.1800c3290
mov rdx, rax
lea r8, [rbp + 0x170]
lea rcx, [rbp - 0x70]
call fcn.1800c30d0
mov rdx, rax
lea r8, [0x180118de8]
lea rcx, [rbp]
call fcn.1800c3290
mov rdx, rax
lea r8, [rbp + 0x1d0]
lea rcx, [rsp + 0x50]
call fcn.1800c30d0
mov rdx, rax
lea r8, [0x180118de8]
lea rcx, [rsp + 0x70]
call fcn.1800c3290
mov rdx, rax
lea r8, [rbp + 0x190]
lea rcx, [rbp + 0x20]
call fcn.1800c30d0
mov rdx, rax
lea r8, [0x180118de4]
lea rcx, [rbp + 0x40]
call fcn.1800c3290
mov rdx, rax
lea rcx, [0x18012cb98]
call fcn.1800c2400
lea rcx, [rbp + 0x40]
call fcn.1800c23a0
lea rcx, [rbp + 0x20]
call fcn.1800c23a0
lea rcx, [rsp + 0x70]
call fcn.1800c23a0
lea rcx, [rsp + 0x50]
call fcn.1800c23a0
lea rcx, [rbp]
call fcn.1800c23a0
lea rcx, [rbp - 0x70]
call fcn.1800c23a0
lea rcx, [rbp - 0x20]
call fcn.1800c23a0
lea rcx, [rbp - 0x40]
call fcn.1800c23a0
lea rcx, [rbp + 0xc0]
call fcn.1800c23a0
lea rcx, [rbp + 0xa0]
call fcn.1800c23a0
jmp 0x18008fb50
mov r15, qword [rbp - 0x48]
inc dword [0x18012fb40]
mov rsi, qword [rbp + 0x188]
mov r14, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0xe0]
call fcn.18002c1e0
cmp eax, 0x64
je 0x18008e810
lea rcx, [rbp + 0x1b0]
call fcn.1800c23a0
lea rcx, [rbp + 0x190]
call fcn.1800c23a0
lea rcx, [rbp + 0x1d0]
call fcn.1800c23a0
lea rcx, [rbp + 0x170]
call fcn.1800c23a0
mov rcx, r12
call fcn.1800c23a0
mov rcx, r15
call fcn.1800c23a0
xor eax, eax
mov rcx, qword [rbp + 0x21f0]
xor rcx, rsp
call fcn.1800cf6f0
mov rbx, qword [rsp + 0x2350]
add rsp, 0x2300
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 0x10
jb 0x18008fc26
mov rcx, qword [rbp + 0x1b0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fc21
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd8d
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x18008fc67
mov rcx, qword [rbp + 0x190]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fc62
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd8d
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x18008fca2
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fc9d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd8d
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008fce3
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fcde
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fd8d
call fcn.1800cf9b0
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008fd1b
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008fd16
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fd8d
mov rcx, r8
call fcn.1800cf9b0
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 0x18008fd68
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008fd63
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fd8d
mov rcx, r8
call fcn.1800cf9b0
mov qword [rbx + 0x10], r14
mov eax, 0xffffffff
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
jmp 0x18008fbbb
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800892e0
int3
call fcn.1800892e0
int3
call fcn.1800dec10
int3
call fcn.1800c2e00
int3
call fcn.1800dec10
int3