Function at 0x180014c79
Capabilities:
Encode data using xor

Disassembly:
jmp 0x180014c70
test r8, r8
je 0x180014fdd
push rbx
push rbp
push rsi
push rdi
push r14
mov eax, reloc.WS2_32.dll_WSASetLastError
call fcn.180001055
sub rsp, rax
mov rax, qword [0x1802946b8]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, qword [rsp + 0xc0]
mov rbp, r9
mov qword [rsp + 0x60], r15
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x180014cc8
test rdx, rdx
je 0x180014cc8
test r9, r9
je 0x180014cc8
test r14, r14
jne 0x180014ce1
mov r8d, gethostbyname
lea rdx, str.crypto_aes_aes_ige.c
lea rcx, str.assertion_failed:_in__out__key__ivec
call sym.libcrypto_1_1_x64.dll_OPENSSL_die
mov r15d, dword [rsp + 0xc8]
cmp r15d, 1
jbe 0x180014d08
mov r8d, reloc.WS2_32.dll_gethostbyname
lea rdx, str.crypto_aes_aes_ige.c
lea rcx, str.assertion_failed:__AES_ENCRYPT__enc____AES_DECRYPT__enc_
call sym.libcrypto_1_1_x64.dll_OPENSSL_die
test sil, 0xf
je 0x180014d27
mov r8d, 0x35
lea rdx, str.crypto_aes_aes_ige.c
lea rcx, str.assertion_failed:__length___AES_BLOCK_SIZE___0
call sym.libcrypto_1_1_x64.dll_OPENSSL_die
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0x68], r13
shr rsi, 4
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
cmp r15d, 1
jne 0x180014e7c
cmp rbx, rdi
je 0x180014e1e
movzx eax, r14b
or al, dil
or al, bl
test al, 3
jne 0x180014e1e
lea rax, [r14 + 0x10]
mov rcx, r14
mov r12, rax
test rsi, rsi
je 0x180014e0a
mov edx, dword [r14]
lea r15, [rdi + 8]
lea r13, [rbx + 8]
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r13 - 8]
mov r8, rbp
xor eax, edx
lea rdx, [r15 - 8]
mov dword [r15 - 8], eax
mov eax, dword [r13 - 4]
xor eax, dword [rcx + 4]
mov dword [r15 - 4], eax
mov eax, dword [rcx + 8]
xor eax, dword [r13]
mov dword [r15], eax
mov eax, dword [r13 + 4]
xor eax, dword [rcx + 0xc]
lea rcx, [r15 - 8]
mov dword [r15 + 4], eax
call sym.libcrypto_1_1_x64.dll_AES_encrypt
mov eax, dword [r12]
lea rcx, [r15 - 8]
xor dword [r15 - 8], eax
mov eax, dword [r12 + 4]
xor dword [r15 - 4], eax
mov eax, dword [r12 + 8]
xor dword [r15], eax
mov eax, dword [r12 + 0xc]
lea r12, [r13 - 8]
xor dword [r15 + 4], eax
lea r13, [r13 + 0x10]
mov edx, dword [r15 - 8]
lea r15, [r15 + 0x10]
sub rsi, 1
jne 0x180014d90
lea rax, [r14 + 0x10]
movups xmm0, xmmword [rcx]
movups xmmword [r14], xmm0
movups xmm0, xmmword [r12]
movups xmmword [rax], xmm0
jmp 0x180014faa
movups xmm0, xmmword [r14]
movups xmm7, xmmword [r14 + 0x10]
test rsi, rsi
je 0x180014e6e
nop dword [rax]
movups xmm6, xmmword [rbx]
mov r8, rbp
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
pxor xmm0, xmm6
movdqa xmmword [rsp + 0x20], xmm0
call sym.libcrypto_1_1_x64.dll_AES_encrypt
lea rdi, [rdi + 0x10]
movdqa xmm0, xmm7
pxor xmm0, xmmword [rsp + 0x20]
movaps xmm7, xmm6
lea rbx, [rbx + 0x10]
movups xmmword [rdi - 0x10], xmm0
sub rsi, 1
jne 0x180014e30
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm7
jmp 0x180014faa
cmp rbx, rdi
je 0x180014f4c
movzx eax, r14b
or al, dil
or al, bl
test al, 3
jne 0x180014f4c
lea rax, [r14 + 0x10]
mov r12, r14
mov r15, rax
test rsi, rsi
je 0x180014f3a
mov ecx, dword [rax]
lea r13, [rbx + 8]
add rdi, 8
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r13 - 8]
mov r8, rbp
xor eax, ecx
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], eax
mov eax, dword [r13 - 4]
xor eax, dword [r15 + 4]
mov dword [rsp + 0x24], eax
mov eax, dword [r15 + 8]
xor eax, dword [r13]
mov dword [rsp + 0x28], eax
mov eax, dword [r13 + 4]
xor eax, dword [r15 + 0xc]
lea r15, [rdi - 8]
mov rdx, r15
mov dword [rsp + 0x2c], eax
call sym.libcrypto_1_1_x64.dll_AES_decrypt
mov eax, dword [r12]
lea rdi, [rdi + 0x10]
xor dword [r15], eax
mov eax, dword [r12 + 4]
xor dword [rdi - 0x14], eax
mov eax, dword [r12 + 8]
xor dword [rdi - 0x10], eax
mov eax, dword [r12 + 0xc]
lea r12, [r13 - 8]
xor dword [rdi - 0xc], eax
lea r13, [r13 + 0x10]
mov ecx, dword [r15]
sub rsi, 1
jne 0x180014ec0
lea rax, [r14 + 0x10]
movups xmm0, xmmword [r12]
movups xmmword [r14], xmm0
movups xmm0, xmmword [r15]
movups xmmword [rax], xmm0
jmp 0x180014faa
movups xmm7, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
test rsi, rsi
je 0x180014fa1
nop word [rax + rax]
movups xmm0, xmmword [rbx]
mov r8, rbp
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
pxor xmm1, xmm0
movups xmm6, xmm0
movdqa xmmword [rsp + 0x20], xmm1
call sym.libcrypto_1_1_x64.dll_AES_decrypt
lea rdi, [rdi + 0x10]
movdqa xmm1, xmm7
pxor xmm1, xmmword [rsp + 0x20]
movaps xmm7, xmm6
lea rbx, [rbx + 0x10]
movups xmmword [rdi - 0x10], xmm1
sub rsi, 1
jne 0x180014f60
movups xmmword [r14], xmm7
movups xmmword [r14 + 0x10], xmm1
movaps xmm6, xmmword [rsp + 0x50]
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x68]
movaps xmm7, xmmword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1800028c4
add rsp, 0x70
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret