Function at 0x3207af0
Capabilities:
Encrypt or decrypt via wincrypt
Generate random numbers via winapi

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0xb0
mov rax, qword [0x03260b88]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [r11 - 0x10], rbx
xor edi, edi
mov qword [r11 - 0x20], rsi
mov rbx, rdx
mov qword [r11 - 0x28], r12
mov rsi, rcx
mov qword [r11 - 0x38], r14
mov rcx, rdx
mov r14, r9
mov qword [r11 - 0x78], rdi
mov r12, r8
call fcn.032072b0
mov rdx, qword [rsi + 0x20]
lea rax, [rbx + 4]
add rdx, 0x20
test rax, rax
je 0x3207b58
test rdx, rdx
je 0x3207b52
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
jmp 0x3207b68
xorps xmm0, xmm0
movups xmmword [rax], xmm0
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
mov rax, qword [rsi + 0xa0]
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x78], r15
test rax, rax
je 0x3207d49
cmp dword [rax + 0x14], edi
je 0x3207d49
cmp dword [rax + 0x44], edi
je 0x3207d42
mov rcx, qword [rax + 8]
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptDuplicateKey]
test eax, eax
jne 0x3207bbc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x3207d49
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x48], 1
lea edx, [r9 + 4]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
jne 0x3207bec
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x3207d49
mov rcx, qword [rsi + 0xa0]
lea r8, [rsp + 0x50]
mov edx, 0x10
mov rcx, qword [rcx]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
jne 0x3207c12
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x50]
xor r9d, r9d
lea edx, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
jne 0x3207c3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x3207d49
mov ecx, 1
mov qword [rsp + 0x88], r13
call qword [sym.imp.WS2_32.dll_htonl]
mov r13d, dword [rbx + 0x28]
and r13d, 0xfffffff0
mov dword [rbx + 0x14], eax
add r13d, 0x10
lea ecx, [r13 + 0x30]
call fcn.0322fc58
mov qword [r12], rax
mov rbp, rax
mov ecx, dword [rbx + 0x28]
mov dword [r14], ecx
mov r8d, dword [rbx + 0x28]
lea r15, [rax + 0x20]
mov rdx, qword [rbx + 0x20]
lea rsi, [r15 + 0x10]
test r8, r8
je 0x3207cb0
test rsi, rsi
je 0x3207ca0
mov rcx, rsi
test rdx, rdx
je 0x3207c9b
call fcn.0322a6d0
jmp 0x3207cb0
call fcn.0322a310
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x30], r13d
xor edx, edx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
lea r8d, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptEncrypt]
mov r13, qword [rsp + 0x88]
test eax, eax
jne 0x3207ce7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, dword [r14]
add ecx, 0x18
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x18], eax
add dword [r14], 0x30
test rbp, rbp
jne 0x3207d11
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
jmp 0x3207d20
movups xmm0, xmmword [rbx]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x10], xmm1
test r15, r15
jne 0x3207d37
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
jmp 0x3207d49
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r15], xmm0
jmp 0x3207d49
mov dword [rax + 0x44], 1
cmp qword [r12], 0
mov r15, qword [rsp + 0x78]
jne 0x3207dda
mov eax, dword [rbx + 0x28]
add eax, 0x20
mov ecx, eax
mov dword [r14], eax
call fcn.0322fc58
xor ecx, ecx
mov qword [r12], rax
mov rsi, rax
lea rbp, [rax + 0x20]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbx + 0x14], eax
test rsi, rsi
jne 0x3207d96
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
jmp 0x3207da4
movups xmm0, xmmword [rbx]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov r8d, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x20]
test r8, r8
je 0x3207dda
test rbp, rbp
je 0x3207dca
mov rcx, rbp
test rdx, rdx
je 0x3207dc5
call fcn.0322a6d0
jmp 0x3207dda
call fcn.0322a310
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
mov r8d, dword [r14]
mov rcx, rbx
mov rdx, qword [r12]
sub r8d, 4
add rdx, 4
call fcn.03207410
mov rcx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
test rcx, rcx
je 0x3207e29
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.03229100
add rsp, 0xb0
pop rdi
ret