Function at 0x18008e500
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.1800f78d0
sub rsp, rax
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rbp + 0x21f0], rax
cmp qword [0x18012ce30], 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, [0x18012ce18]
cmovae rcx, qword [0x18012ce18]
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.180087cf0
test eax, eax
je 0x18008e66b
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008e60e
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008e609
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fccd
mov rcx, r8
call fcn.1800cfd40
mov qword [r12 + 0x10], rdi
mov byte [r12], dil
mov qword [r12 + 0x18], rsi
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x18008e656
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x18008e651
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fccd
mov rcx, r8
call fcn.1800cfd40
mov qword [r15 + 0x10], rdi
mov eax, 0xffffffff
mov qword [r15 + 0x18], rsi
mov byte [r15], dil
jmp 0x18008facb
lea rdx, [0x18012d038]
lea rcx, [rbp + 0xa0]
call fcn.1800c2820
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.18008b020
cmp qword [rax + 0x18], 0x10
jb 0x18008e694
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.180063b90
mov rdx, qword [rbp + 0x78]
test eax, eax
setne bl
cmp rdx, 0x10
jb 0x18008e703
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e6fe
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fca9
call fcn.1800cfd40
test bl, bl
jne 0x18008e5d2
mov rcx, qword [rbp + 0xe0]
call fcn.18002c0f0
cmp eax, 0x64
jne 0x18008fa89
mov rcx, qword [rbp + 0xe0]
xor edx, edx
call fcn.18002cd10
mov rcx, qword [rbp + 0xe0]
mov edx, 1
mov rbx, rax
call fcn.18002cd10
mov rcx, qword [rbp + 0xe0]
mov edx, 2
mov rdi, rax
call fcn.18002cd10
mov r13, rax
test rbx, rbx
je 0x18008fa89
test rdi, rdi
je 0x18008fa89
test rax, rax
je 0x18008fa89
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x18008e780
test rcx, rcx
je 0x18008fa74
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x18008e7a0
test rax, rax
je 0x18008fa74
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rax + r13], 0
jne 0x18008e7c0
test rax, rax
je 0x18008fa74
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 0x18008e7f0
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.1800c2ee0
cmp rsi, 0x10
jb 0x18008e841
mov rcx, qword [rbp + 0x170]
lea rdx, [rsi + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e83c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fccd
call fcn.1800cfd40
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.1800c2ee0
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008e8dd
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e8d8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fccd
call fcn.1800cfd40
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 0x18008e910
mov rdx, rdi
lea rcx, [rbp]
call fcn.1800c2ee0
cmp r14, 0x10
jb 0x18008e960
mov rcx, qword [rbp + 0x1d0]
lea rdx, [r14 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008e95b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fccd
call fcn.1800cfd40
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 0x18008e9ab
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x58], 0xf
movups xmmword [rbp - 0x70], xmm0
jmp 0x18008ea24
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008e9ff
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fcb5
mov rcx, rax
call fcn.1800cfd48
mov rcx, rax
test rax, rax
je 0x18008fccd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008ea0d
test rcx, rcx
je 0x18008ea0b
call fcn.1800cfd48
jmp 0x18008ea0d
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d33d0
mov qword [rbp - 0x58], rdi
mov r8d, 2
mov qword [rbp - 0x60], rbx
lea rdx, [0x180118c84]
mov qword [rbp - 0x80], 0
lea rcx, [rsp + 0x70]
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
call fcn.1800c2ee0
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x70]
call fcn.18008cc40
test eax, eax
jle 0x18008f1fc
cmp r15, 0x10
lea rsi, [rbp + 0x170]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008ea92
movups xmm0, xmmword [rsi]
mov qword [rsp + 0x68], 0xf
movups xmmword [rsp + 0x50], xmm0
jmp 0x18008eb0d
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008eae6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fcb5
mov rcx, rax
call fcn.1800cfd48
mov rcx, rax
test rax, rax
je 0x18008fccd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008eaf4
test rcx, rcx
je 0x18008eaf2
call fcn.1800cfd48
jmp 0x18008eaf4
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x50], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d33d0
mov qword [rsp + 0x68], rdi
xor esi, esi
mov qword [rsp + 0x60], rbx
lea rdx, [0x180118c84]
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.1800c2ee0
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.18008cc40
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.1800c2ee0
mov rax, qword [rbp + 0x1c8]
cmp rax, 0x10
jb 0x18008ebbc
mov rcx, qword [rbp + 0x1b0]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008ebb7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fccd
call fcn.1800cfd40
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, [0x180118c84]
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.1800c2ee0
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rdi + rbx], sil
jne 0x18008ec20
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0xa0]
call fcn.1800c2820
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.18008cc40
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 0x18008fcc7
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.1800c2ee0
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008ece3
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008ecde
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fcaf
call fcn.1800cfd40
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 0x18008ed38
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x28], 0xf
movups xmmword [rbp - 0x40], xmm0
jmp 0x18008edb3
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008ed8c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fcb5
mov rcx, rax
call fcn.1800cfd48
mov rcx, rax
test rax, rax
je 0x18008fccd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008ed9a
test rcx, rcx
je 0x18008ed98
call fcn.1800cfd48
jmp 0x18008ed9a
xor eax, eax
lea r8, [rbx + 1]
mov qword [rbp - 0x40], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d33d0
mov qword [rbp - 0x28], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x30], rbx
lea rdx, [0x180118c88]
mov qword [rbp + 0x30], rdi
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], 0
call fcn.1800c2ee0
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x20]
call fcn.18008cc40
test eax, eax
jle 0x18008f0c1
cmp r15, 0x10
lea rsi, [rbp + 0x170]
cmovae rsi, r14
cmp rbx, 0x10
jae 0x18008ee19
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x78], 0xf
movups xmmword [rsp + 0x70], xmm0
jmp 0x18008ee95
movabs rax, 0x7fffffffffffffff
mov rdi, rbx
or rdi, 0xf
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x18008ee6d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18008fcbb
mov rcx, rax
call fcn.1800cfd48
mov rcx, rax
test rax, rax
je 0x18008fc97
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18008ee7b
test rcx, rcx
je 0x18008ee79
call fcn.1800cfd48
jmp 0x18008ee7b
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x70], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d33d0
mov qword [rbp - 0x78], rdi
xor edi, edi
mov r8d, 1
mov qword [rbp - 0x80], rbx
lea rdx, [0x180118c88]
mov qword [rbp + 0x50], rdi
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
call fcn.1800c2ee0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x40]
call fcn.18008cc40
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.1800c2ee0
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 0x18008ef30
lea rcx, [rbp - 0x70]
call fcn.1800c9320
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.1800c2650
mov r8d, 2
lea rdx, [0x180118c84]
lea rcx, [rbp - 0x70]
call fcn.1800c2650
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 0x18008efa4
mov rax, rcx
sub rax, r8
cmp rax, r9
jb 0x18008efa4
cmp rdx, 0x10
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x50]
cmovae r8, qword [rbp - 0x70]
call fcn.1800c75d0
jmp 0x18008efbc
cmp rcx, 0x10
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
cmovae rdx, qword [rsp + 0x50]
call fcn.1800c2650
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 0x18008f01b
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f016
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc97
call fcn.1800cfd40
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 0x18008f06c
mov rcx, qword [rbp - 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f067
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc97
call fcn.1800cfd40
mov rdx, qword [rsp + 0x68]
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
cmp rdx, 0x10
jb 0x18008f1fc
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f1f7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc97
jmp 0x18008f1f7
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 0x18008f0f5
lea rcx, [rsp + 0x50]
call fcn.1800c9320
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.1800c2650
mov r8d, 2
lea rdx, [0x180118c84]
lea rcx, [rsp + 0x50]
call fcn.1800c2650
cmp r15, 0x10
lea rdx, [rbp + 0x170]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, r14
call fcn.1800c2650
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 0x18008f1b1
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f1a4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fcc1
call fcn.1800cfd40
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 0x18008f1fc
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f1f7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fcc1
call fcn.1800cfd40
mov rdi, qword [rbp + 0xe0]
mov edx, 2
mov rcx, rdi
call fcn.18002c860
mov rbx, rax
movzx eax, word [rax + 8]
test al, 0x10
jne 0x18008f252
mov edx, 0x202
movzx ecx, ax
and cx, dx
cmp cx, dx
jne 0x18008f237
cmp byte [rbx + 0xa], 1
jne 0x18008f237
mov rax, qword [rbx + 0x10]
jmp 0x18008f245
test al, 1
jne 0x18008f24a
mov dl, 1
mov rcx, rbx
call fcn.1800262d0
test rax, rax
jne 0x18008f252
xor r14d, r14d
mov esi, r14d
jmp 0x18008f265
mov esi, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18008f262
add esi, dword [rbx]
xor r14d, r14d
test rdi, rdi
je 0x18008f2af
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x84]
test rcx, rcx
jne 0x18008f27d
movzx eax, dl
jmp 0x18008f297
cmp byte [rcx + 0x50], 0
jne 0x18008f292
cmp edx, 0xc0a
je 0x18008f292
mov eax, dword [rcx + 0x48]
and eax, edx
jmp 0x18008f297
call fcn.180006cc0
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x18008f2af
call qword [0x18012aeb8]
cmp byte [r13], 0x76
jne 0x18008f50e
movzx eax, byte [r13 + 1]
cmp al, 0x31
jne 0x18008f50e
cmp byte [r13 + 2], 0x30
je 0x18008f2e0
cmp al, al
jne 0x18008f50e
cmp byte [r13 + 2], al
jne 0x18008f50e
lea rdx, [rbp - 0x50]
mov dword [rbp - 0x50], r14d
call fcn.18008e160
test eax, eax
je 0x18008faf5
mov edx, dword [rbp - 0x50]
lea r8, [rbp + 0x1f0]
call fcn.18008e350
test eax, eax
je 0x18008faf5
lea rax, [rbp + 0x1f0]
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x18008f320
xor r9d, r9d
lea rdx, [0x180118c40]
xor r8d, r8d
lea rcx, [0x18012fa78]
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
test eax, eax
jne 0x18008f36b
mov rcx, qword [0x18012fa78]
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 [0x18012fa78]
lea rax, [rbp + 0x1f0]
mov dword [rsp + 0x30], r14d
lea rdx, [0x18012fa10]
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 [0x18012faa8]
test r9, r9
jne 0x18008f3c3
mov ecx, 0x400
call fcn.1800d8364
mov qword [0x18012faa8], rax
mov r9, rax
test rax, rax
je 0x18008faf5
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 [0x18012fa10]
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 [0x18012faa8]
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 0x18008f4b0
lea rcx, [rsp + 0x70]
call fcn.1800c2ee0
mov rax, qword [rbp + 0x1a8]
cmp rax, 0x10
jb 0x18008f600
mov rcx, qword [rbp + 0x190]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f5fb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc9d
jmp 0x18008f5fb
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 0x18008f579
mov ebx, dword [rbp + 0x100]
test ebx, ebx
je 0x18008f56a
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x1f0]
mov r8d, ebx
call fcn.1800d33d0
mov byte [rbp + rbx + 0x1f0], 0
mov eax, 1
jmp 0x18008f57c
mov eax, r14d
test eax, eax
je 0x18008f617
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 0x18008f5a3
lea rdx, [rbp + 0x1f0]
lea rcx, [rsp + 0x70]
call fcn.1800c2ee0
mov rax, qword [rbp + 0x1a8]
cmp rax, 0x10
jb 0x18008f600
mov rcx, qword [rbp + 0x190]
lea rdx, [rax + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f5fb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fccd
call fcn.1800cfd40
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 0x18008f626
mov rax, qword [r12]
cmp qword [r12 + 0x10], 1
jne 0x18008f637
cmp byte [rax], 0x30
jne 0x18008f637
mov al, 1
jmp 0x18008f639
xor al, al
test al, al
je 0x18008f908
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 0x18008f674
lea rcx, [rsp + 0x50]
call fcn.1800c9320
mov qword [rsp + 0x60], r14
mov r8d, 1
lea rdx, [0x180118c90]
lea rcx, [rsp + 0x50]
call fcn.1800c2650
cmp qword [rbp + 0x188], 0x10
lea rdx, [rbp + 0x170]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp + 0x170]
call fcn.1800c2650
mov r8d, 1
lea rdx, [0x180118c8c]
lea rcx, [rsp + 0x50]
call fcn.1800c2650
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.1800c2650
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x18008f75e
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f759
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc91
call fcn.1800cfd40
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18008f79b
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f796
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc91
call fcn.1800cfd40
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 0x18008f7cb
lea rcx, [rsp + 0x50]
call fcn.1800c9320
mov qword [rsp + 0x60], r14
mov r8d, 1
lea rdx, [0x180118c90]
lea rcx, [rsp + 0x50]
call fcn.1800c2650
cmp qword [rbp + 0x18], 0x10
lea rdx, [rbp + 0x1d0]
mov r8, rbx
lea rcx, [rsp + 0x50]
cmovae rdx, qword [rbp]
call fcn.1800c2650
mov r8d, 1
lea rdx, [0x180118c8c]
lea rcx, [rsp + 0x50]
call fcn.1800c2650
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.1800c2650
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18008f8a0
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008f89b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fca3
call fcn.1800cfd40
lea rcx, [rsp + 0x50]
call fcn.1800c2730
lea r8, [rbp + 0x190]
lea rdx, [0x180118c90]
lea rcx, [rbp + 0x20]
call fcn.1800c3580
mov rdx, rax
lea r8, [0x180118c8c]
lea rcx, [rbp + 0x40]
call fcn.1800c3620
mov rdx, rax
lea rcx, [0x18012cb98]
call fcn.1800c26f0
lea rcx, [rbp + 0x40]
call fcn.1800c2730
lea rcx, [rbp + 0x20]
call fcn.1800c2730
lea rdx, [0x18010f0ec]
lea rcx, [0x18012cb98]
call fcn.1800c26d0
lea rdx, [0x18010decc]
mov rcx, r12
call fcn.1800c3410
test al, al
je 0x18008fa5c
lea r8, [0x180118c9c]
lea rdx, [0x18012cb98]
lea rcx, [rbp + 0xa0]
call fcn.1800c3680
mov rdx, rax
lea r8, [0x180118c98]
lea rcx, [rbp + 0xc0]
call fcn.1800c3620
mov r15, qword [rbp - 0x48]
lea rcx, [rbp - 0x40]
mov r8, r15
mov rdx, rax
call fcn.1800c3460
mov rdx, rax
lea r8, [0x180118c98]
lea rcx, [rbp - 0x20]
call fcn.1800c3620
mov rdx, rax
lea r8, [rbp + 0x170]
lea rcx, [rbp - 0x70]
call fcn.1800c3460
mov rdx, rax
lea r8, [0x180118c98]
lea rcx, [rbp]
call fcn.1800c3620
mov rdx, rax
lea r8, [rbp + 0x1d0]
lea rcx, [rsp + 0x50]
call fcn.1800c3460
mov rdx, rax
lea r8, [0x180118c98]
lea rcx, [rsp + 0x70]
call fcn.1800c3620
mov rdx, rax
lea r8, [rbp + 0x190]
lea rcx, [rbp + 0x20]
call fcn.1800c3460
mov rdx, rax
lea r8, [0x180118c94]
lea rcx, [rbp + 0x40]
call fcn.1800c3620
mov rdx, rax
lea rcx, [0x18012cb98]
call fcn.1800c2790
lea rcx, [rbp + 0x40]
call fcn.1800c2730
lea rcx, [rbp + 0x20]
call fcn.1800c2730
lea rcx, [rsp + 0x70]
call fcn.1800c2730
lea rcx, [rsp + 0x50]
call fcn.1800c2730
lea rcx, [rbp]
call fcn.1800c2730
lea rcx, [rbp - 0x70]
call fcn.1800c2730
lea rcx, [rbp - 0x20]
call fcn.1800c2730
lea rcx, [rbp - 0x40]
call fcn.1800c2730
lea rcx, [rbp + 0xc0]
call fcn.1800c2730
lea rcx, [rbp + 0xa0]
call fcn.1800c2730
jmp 0x18008fa60
mov r15, qword [rbp - 0x48]
inc dword [0x18012faa0]
mov rsi, qword [rbp + 0x188]
mov r14, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0xe0]
call fcn.18002c0f0
cmp eax, 0x64
je 0x18008e720
lea rcx, [rbp + 0x1b0]
call fcn.1800c2730
lea rcx, [rbp + 0x190]
call fcn.1800c2730
lea rcx, [rbp + 0x1d0]
call fcn.1800c2730
lea rcx, [rbp + 0x170]
call fcn.1800c2730
mov rcx, r12
call fcn.1800c2730
mov rcx, r15
call fcn.1800c2730
xor eax, eax
mov rcx, qword [rbp + 0x21f0]
xor rcx, rsp
call fcn.1800cfa80
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 0x18008fb36
mov rcx, qword [rbp + 0x1b0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fb31
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc9d
call fcn.1800cfd40
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x18008fb77
mov rcx, qword [rbp + 0x190]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fb72
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc9d
call fcn.1800cfd40
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x18008fbb2
mov rcx, qword [rbp]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fbad
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc9d
call fcn.1800cfd40
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x18008fbf3
mov rcx, qword [rbp + 0x170]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008fbee
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008fc9d
call fcn.1800cfd40
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x18008fc2b
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x18008fc26
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fc9d
mov rcx, r8
call fcn.1800cfd40
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 0x18008fc78
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008fc73
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008fc9d
mov rcx, r8
call fcn.1800cfd40
mov qword [rbx + 0x10], r14
mov eax, 0xffffffff
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
jmp 0x18008facb
call fcn.1800defa0
int3
call fcn.1800defa0
int3
call fcn.1800defa0
int3
call fcn.1800defa0
int3
call fcn.1800defa0
int3
call fcn.1800defa0
int3
call fcn.1800891f0
int3
call fcn.1800891f0
int3
call fcn.1800defa0
int3
call fcn.1800c3190
int3
call fcn.1800defa0
int3