Function at 0x180034680
Capabilities:
Create new key via cryptacquirecontext
Encode data using xor
Encrypt data using aes via winapi

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x980
mov r12, r8
lea r15d, [rcx + 0x4c5]
xor r8d, r8d
mov rdi, r9
mov r14, rdx
mov ebp, ecx
mov esi, ecx
cmp ecx, r15d
jae 0x1800348d0
mov rbx, qword [rsp + 0x40]
lea rcx, [0x18007d750]
lea r13d, [r8 + 0x10]
nop
cmp esi, 0xf7
ja 0x1800347f9
je 0x1800347bd
mov eax, esi
sub eax, 0x1a
je 0x1800347a7
sub eax, 0x2f
je 0x18003474d
sub eax, 0x29
je 0x180034744
sub eax, 0x17
je 0x18003470a
cmp eax, 0x2f
je case.0x180034904.10
jmp 0x1800348c4
mov rax, qword [rdi]
lea r9, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
mov rax, qword [0x18007d728]
mov ecx, 0x99
mov qword [rsp + 0x20], r8
xor r8d, r8d
mov qword [rsp + 0x30], rax
call fcn.18000fad0
mov qword [rsp + 0x30], rax
jmp 0x1800348ba
mov qword [rdi + 8], r8
jmp 0x1800348c4
mov rax, qword [r12]
lea rdx, [rsp + 0x9b0]
mov qword [rsp + 0x40], rax
mov r9, r14
mov rax, qword [rdi]
mov r8d, 0x50
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x9b0], 3
call fcn.1800130e0
mov qword [rsp + 0x30], rax
jmp 0x1800348ba
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x33]
call fcn.180027fc0
jmp 0x1800348ba
mov eax, dword [r14]
mov edx, r8d
cmp eax, r13d
cmova eax, r13d
mov dword [r14], eax
test eax, eax
je 0x1800348c4
nop word [rax + rax]
mov eax, edx
inc edx
lea rcx, [rax + rdi]
movzx eax, byte [rax + r12]
xor byte [rcx], al
cmp edx, dword [r14]
jb 0x1800347e0
jmp 0x1800348bd
mov eax, esi
sub eax, 0xf8
je case.0x180034904.10
sub eax, 0x30
je 0x18003487b
sub eax, 0x3e
je 0x180034872
sub eax, 0x31
je 0x180034823
cmp eax, 0x3e
je case.0x180034904.10
jmp 0x1800348c4
test rbx, rbx
je 0x1800348c4
mov ecx, 0x90
mov eax, ecx
sub eax, 0x90
je 0x18003485a
sub eax, 0x6e
je 0x18003484d
cmp eax, 0x6e
jne 0x180034865
mov qword [0x18007d710], rbx
jmp 0x180034865
mov rax, qword [0x18007d710]
mov qword [rbx + 8], rax
jmp 0x180034865
mov eax, dword [rdi]
mov dword [rbx], eax
mov eax, dword [r12]
mov dword [rbx + 4], eax
add ecx, 0x6e
cmp ecx, 0x1da
jb 0x180034831
jmp 0x1800348bd
mov eax, dword [r14]
mov dword [rsp + 0x30], eax
jmp 0x1800348c4
mov rcx, qword [0x18007d710]
test rcx, rcx
je 0x18003489d
mov eax, dword [rdi]
nop dword [rax]
cmp dword [rcx], eax
je 0x180034910
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x180034890
xor r9d, r9d
mov qword [rsp + 0x38], r13
xor r8d, r8d
lea rdx, [rsp + 0x38]
mov ecx, 0x113
call fcn.18000c540
mov rbx, rax
xor r8d, r8d
lea rcx, [0x18007d750]
add esi, 0x6f
cmp esi, r15d
jb 0x1800346d0
lea r14d, [rbp + 0xb]
cmp ebp, r14d
jae case.0x180034904.10
mov eax, dword [rsp + 0x9b0]
lea r15, [0x180000000]
add ebp, 0xffffff8e
nop
cmp ebp, 0xa
ja case.default.0x180034904
mov edx, dword [r15 + rbp*4 + 0x34acc]
add rdx, r15
jmp rdx
mov eax, dword [r12]
mov dword [rcx + 4], eax
jmp case.0x180034904.10
mov dword [rdi + 0x3c], r8d
jmp case.default.0x180034904
lea rcx, [rdi + 8]
mov dword [rsp + 0x20], 0xf0000040
mov r9d, 0x18
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
jmp case.default.0x180034904
mov dword [rdi + 0x38], 0x800
jmp case.default.0x180034904
mov dword [rdi + 0x84], 0x6610
jmp case.default.0x180034904
mov qword [rdi + 0x20], r8
jmp case.default.0x180034904
mov qword [rdi + 0x28], r8
mov dword [rdi + 0x34], r8d
jmp case.default.0x180034904
mov dword [rsp + 0x30], eax
jmp case.default.0x180034904
mov qword [rdi + 0x10], r8
mov qword [rdi + 0x18], r8
jmp case.default.0x180034904
mov ecx, dword [r12]
mov dword [rdi + 0x30], ecx
jmp case.default.0x180034904
test eax, eax
je 0x180034a69
cmp dword [rdi + 0x30], 1
jne 0x180034a69
mov esi, 0x11
cmp esi, 0x11
je 0x180034a36
cmp esi, 0x32
jne 0x180034a55
test eax, eax
je 0x180034a55
mov ebx, 0x52
mov ecx, ebx
sub ecx, 0x51
je 0x1800349fe
cmp ecx, 1
jne 0x180034a27
lea rax, [rsp + 0x50]
xor edx, edx
mov qword [rsp + 0x28], rax
lea r9d, [rcx + 0x74]
mov qword [rsp + 0x20], r8
mov rcx, rdi
xor r8d, r8d
call fcn.180018a20
jmp 0x180034a27
test eax, eax
je 0x180034a27
mov rcx, qword [rdi + 8]
lea rax, [rdi + 0x28]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x54]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov r8d, dword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
dec ebx
mov r8d, 0
cmp ebx, 0x50
ja 0x1800349d0
jmp 0x180034a55
mov r8d, dword [rdi + 0x38]
lea r9, [rdi + 0x18]
mov rcx, qword [rdi + 8]
mov edx, 0xa400
shl r8d, 0x10
or r8d, 1
call qword [sym.imp.ADVAPI32.dll_CryptGenKey]
add esi, 0x21
mov r8d, 0
cmp esi, 0x53
jb 0x1800349b1
jmp case.default.0x180034904
mov rcx, qword [rdi + 8]
lea rax, [rdi + 0x28]
mov qword [rsp + 0x28], rax
lea rdx, [0x18007c650]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov r8d, 0x114
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
inc ebp
mov r8d, 0
lea ecx, [rbp + 0x72]
cmp ecx, r14d
jb 0x1800348f0
mov rax, qword [rsp + 0x30]
lea r11, [rsp + 0x980]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret