Function at 0x140002920
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x50
xor r13d, r13d
mov qword [rsp + 0x48], r15
mov r12, r9
mov rsi, r8
mov rdi, rdx
mov r14, rcx
cmp rdx, rcx
je 0x140002996
cmp qword [rcx + 0x18], 7
mov r9, rcx
mov rdx, qword [rcx + 0x10]
jbe 0x14000295c
mov r9, qword [rcx]
mov rax, qword [rdi + 0x18]
cmp rdx, rax
ja 0x14000298e
mov r15, rdi
cmp rax, 7
jbe 0x140002971
mov r15, qword [rdi]
lea rbx, [rdx + rdx]
mov qword [rdi + 0x10], rdx
mov r8, rbx
mov rdx, r9
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + r15], r13w
jmp 0x140002996
mov rcx, rdi
call fcn.140003d00
cmp word [0x14008bdce], r13w
mov rax, qword [0x14008bdc8]
mov qword [rbp - 0x30], rax
je 0x140002a75
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140002a2b
movdqa xmm3, xmmword [0x14008e8d0]
movdqa xmm2, xmm3
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14008e970]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14008e970]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 3
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x14008e8f0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp - 0x30]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [str.::::::::]
xorps xmm2, xmm0
movq qword [rbp - 0x30], xmm2
jmp 0x140002a75
lea r9, [rbp - 0x30]
mov r8d, r13d
nop dword [rax]
nop word [rax + rax]
mov eax, 0x22b63cbf
lea r9, [r9 + 2]
imul r8d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3b
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x3a
xor word [r9 - 2], ax
cmp r8d, 4
jl 0x140002a40
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140003560
cmp rax, 0xffffffffffffffff
je 0x140002abb
mov rbx, qword [rdi + 0x10]
add rax, 3
cmp rbx, rax
mov rcx, rdi
cmovb rax, rbx
cmp qword [rdi + 0x18], 7
jbe 0x140002aa3
mov rcx, qword [rdi]
sub rbx, rax
lea rdx, [rcx + rax*2]
lea r8, [rbx*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov qword [rdi + 0x10], rbx
cmp rsi, rdi
je 0x140002b0b
cmp qword [rdi + 0x18], 7
mov r9, rdi
mov rdx, qword [rdi + 0x10]
jbe 0x140002ad1
mov r9, qword [rdi]
mov rax, qword [rsi + 0x18]
cmp rdx, rax
ja 0x140002b03
mov r15, rsi
cmp rax, 7
jbe 0x140002ae6
mov r15, qword [rsi]
lea rbx, [rdx + rdx]
mov qword [rsi + 0x10], rdx
mov r8, rbx
mov rdx, r9
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + r15], r13w
jmp 0x140002b0b
mov rcx, rsi
call fcn.140003d00
cmp word [str._rohm], r13w
mov ebx, Ordinal_50
mov eax, dword [0x14008bd84]
mov r15, qword [rsp + 0x48]
mov dword [rbp - 0x30], eax
je 0x140002b31
xor word [rbp - 0x2e], 0x3b
mov word [rbp - 0x30], bx
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140003560
cmp rax, 0xffffffffffffffff
je 0x140002b63
cmp qword [rdi + 0x10], rax
lea rcx, [rdi + 0x10]
jb 0x140002cbb
cmp qword [rdi + 0x18], 7
jbe 0x140002b5b
mov rdi, qword [rdi]
mov qword [rcx], rax
mov word [rdi + rax*2], r13w
cmp word [str._rohm], r13w
mov eax, dword [0x14008bd84]
mov dword [rbp - 0x30], eax
je 0x140002b7f
xor word [rbp - 0x2e], 0x3b
mov word [rbp - 0x30], bx
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.140003560
cmp rax, 0xffffffffffffffff
je 0x140002bc6
mov rbx, qword [rsi + 0x10]
lea rdi, [rsi + 0x10]
cmp rbx, rax
cmovb rax, rbx
cmp qword [rsi + 0x18], 7
jbe 0x140002baa
mov rsi, qword [rsi]
sub rbx, rax
lea rdx, [rsi + rax*2]
mov rcx, rsi
lea r8, [rbx*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov qword [rdi], rbx
jmp 0x140002c39
cmp word [str._rohm], r13w
mov eax, dword [0x14008bd84]
mov dword [rbp - 0x30], eax
je 0x140002be2
xor word [rbp - 0x2e], 0x3b
mov word [rbp - 0x30], bx
lea rax, [rbp - 0x30]
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], r13w
jne 0x140002bf0
mov rax, qword [rsi + 0x18]
cmp rdx, rax
ja 0x140002c2d
mov rdi, rsi
cmp rax, 7
jbe 0x140002c0f
mov rdi, qword [rsi]
lea rbx, [rdx + rdx]
mov qword [rsi + 0x10], rdx
mov r8, rbx
lea rdx, [rbp - 0x30]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [rbx + rdi], r13w
jmp 0x140002c39
lea r9, [rbp - 0x30]
mov rcx, rsi
call fcn.140003d00
movzx eax, word [0x14008bde0]
lea rdx, [rbp - 0x28]
movups xmm0, xmmword [0x14008bdd0]
mov ecx, 0x68
xor ax, 0x42
mov word [rbp - 0x18], ax
movups xmmword [rbp - 0x28], xmm0
xor word [rbp - 0x26], 0x3b
xor word [rbp - 0x24], 0x3c
xor word [rbp - 0x22], 0x3d
xor word [rbp - 0x20], 0x3e
xor word [rbp - 0x1e], 0x3f
xor word [rbp - 0x1c], 0x40
xor word [rbp - 0x1a], 0x41
mov word [rbp - 0x28], cx
mov rcx, r14
call fcn.140003560
cmp rax, 0xffffffffffffffff
jne 0x140002ca5
mov word [r12], r13w
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov word [r12], 0x1bb
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140003920
int3