Function at 0x1800146a0
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1800146a0
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
mov rbp, rsp
mov eax, 0x80
call fcn.180001055
sub rsp, rax
mov rax, qword [0x1802946b8]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov rsi, qword [rbp + 0x68]
mov r12, r9
mov qword [rbp - 0x50], r9
mov r13, r8
mov rbx, rdx
mov r14, rcx
test rcx, rcx
je 0x1800146f1
test rdx, rdx
je 0x1800146f1
test r9, r9
je 0x1800146f1
test rsi, rsi
jne 0x18001470a
mov r8d, 0xbb
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 edi, dword [rbp + 0x70]
cmp edi, 1
jbe 0x18001472b
mov r8d, 0xbc
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 r13b, 0xf
je 0x18001474a
mov r8d, 0xbd
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 + 0x78], r15
cmp edi, 1
jne 0x180014931
lea rdi, [rsi + 0x10]
mov rcx, rsi
cmp r13, 0x10
jb 0x180014853
mov r15, r13
shr r15, 4
lea rax, [rcx + 0xf]
cmp rbx, rax
ja 0x180014782
lea rax, [rbx + 0xf]
cmp rax, rcx
jae 0x180014794
lea rax, [r14 + 0xf]
cmp rbx, rax
ja 0x1800147c7
lea rax, [rbx + 0xf]
cmp rax, r14
jb 0x1800147c7
mov r8, r14
mov r9, rbx
sub r8, rcx
mov edx, reloc.WS2_32.dll_recv
sub r9, rcx
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor al, byte [rcx]
mov byte [r9 + rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1800147b0
jmp 0x1800147d8
movdqu xmm1, xmmword [rcx]
movdqu xmm0, xmmword [r14]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
mov r8, r12
mov rdx, rbx
mov rcx, rbx
call sym.libcrypto_1_1_x64.dll_AES_encrypt
lea rax, [rdi + 0xf]
cmp rbx, rax
ja 0x180014822
lea rax, [rbx + 0xf]
cmp rax, rdi
jb 0x180014822
mov rcx, rbx
sub rdi, rbx
mov edx, reloc.WS2_32.dll_recv
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180014810
jmp 0x180014832
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
movups xmm0, xmmword [r14]
mov rcx, rbx
lea rdi, [rbp - 0x50]
add rbx, 0x10
add r14, 0x10
movaps xmmword [rbp - 0x50], xmm0
sub r15, 1
jne 0x180014770
lea rdx, [rsi + 0x20]
lea rdi, [rsi + 0x30]
cmp r13, 0x10
jb 0x180014b21
shr r13, 4
nop dword [rax]
movups xmm0, xmmword [rbx - 0x10]
mov rsi, rbx
lea rax, [rdx + 0xf]
sub rbx, 0x10
movaps xmmword [rbp - 0x60], xmm0
cmp rbx, rax
ja 0x1800148b2
lea rax, [rsi - 1]
cmp rax, rdx
jb 0x1800148b2
mov rcx, rbx
sub rdx, rbx
mov r8d, reloc.WS2_32.dll_recv
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1800148a0
jmp 0x1800148c2
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rdx]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
mov r8, r12
mov rdx, rbx
mov rcx, rbx
call sym.libcrypto_1_1_x64.dll_AES_encrypt
lea rax, [rdi + 0xf]
cmp rbx, rax
ja 0x180014902
lea rax, [rsi - 1]
cmp rax, rdi
jb 0x180014902
mov rcx, rbx
sub rdi, rbx
mov edx, reloc.WS2_32.dll_recv
nop dword [rax]
movzx eax, byte [rcx + rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1800148f0
jmp 0x180014912
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
movaps xmm0, xmmword [rbp - 0x60]
mov rdx, rbx
movdqa xmmword [rbp - 0x50], xmm0
lea rdi, [rbp - 0x50]
sub r13, 1
jne 0x180014870
jmp 0x180014b21
add r14, r13
movaps xmmword [rsp + 0x60], xmm6
add rbx, r13
lea rdi, [rsi + 0x20]
lea r8, [rsi + 0x30]
cmp r13, 0x10
jb 0x180014a30
mov rsi, qword [rbp - 0x50]
lea r12, [rbx + 0xf]
mov r15, r13
shr r15, 4
nop dword [rax]
movups xmm0, xmmword [r14 - 0x10]
lea r14, [r14 - 0x10]
sub rbx, 0x10
sub r12, 0x10
lea rax, [r8 + 0xf]
xor edx, edx
lea rcx, [rbp - 0x60]
movups xmm6, xmm0
movups xmmword [rbp - 0x60], xmm0
cmp rcx, rax
ja 0x1800149b9
lea rax, [rbp - 0x51]
cmp rax, r8
jb 0x1800149b9
lea rax, [rbp - 0x60]
sub r8, rax
nop word [rax + rax]
lea rcx, [rbp - 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8]
xor byte [rcx], al
cmp rdx, 0x10
jb 0x1800149a0
jmp 0x1800149c8
movdqu xmm0, xmmword [r8]
pxor xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
mov r8, rsi
lea rcx, [rbp - 0x60]
mov rdx, rbx
call sym.libcrypto_1_1_x64.dll_AES_decrypt
lea rax, [rdi + 0xf]
cmp rbx, rax
ja 0x180014a02
cmp r12, rdi
jb 0x180014a02
mov rcx, rbx
sub rdi, rbx
mov edx, reloc.WS2_32.dll_recv
movzx eax, byte [rcx + rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1800149f0
jmp 0x180014a12
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rdi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
movdqa xmmword [rbp - 0x40], xmm6
lea rdi, [rbp - 0x40]
mov r8, rbx
sub r15, 1
jne 0x180014960
mov rsi, qword [rbp + 0x68]
mov r12, qword [rbp - 0x50]
lea r8, [rsi + 0x10]
cmp r13, 0x10
jb 0x180014b1c
shr r13, 4
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbx]
xor edx, edx
lea rax, [r8 + 0xf]
lea rcx, [rbp - 0x60]
movups xmm6, xmm0
movups xmmword [rbp - 0x60], xmm0
cmp rcx, rax
ja 0x180014a99
lea rax, [rbp - 0x51]
cmp rax, r8
jb 0x180014a99
lea rax, [rbp - 0x60]
sub r8, rax
nop dword [rax]
lea rcx, [rbp - 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r8]
xor byte [rcx], al
cmp rdx, 0x10
jb 0x180014a80
jmp 0x180014aa8
movdqu xmm0, xmmword [r8]
pxor xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
mov r8, r12
lea rcx, [rbp - 0x60]
mov rdx, rbx
call sym.libcrypto_1_1_x64.dll_AES_decrypt
lea rax, [rsi + 0xf]
cmp rbx, rax
ja 0x180014af2
lea rax, [rbx + 0xf]
cmp rax, rsi
jb 0x180014af2
mov rcx, rbx
sub rsi, rbx
mov edx, reloc.WS2_32.dll_recv
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + rsi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180014ae0
jmp 0x180014b02
movdqu xmm1, xmmword [rbx]
movdqu xmm0, xmmword [rsi]
pxor xmm1, xmm0
movdqu xmmword [rbx], xmm1
mov r8, rbx
movdqa xmmword [rbp - 0x40], xmm6
add rbx, 0x10
lea rsi, [rbp - 0x40]
sub r13, 1
jne 0x180014a50
movaps xmm6, xmmword [rsp + 0x60]
mov r15, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.1800028c4
add rsp, 0x80
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret