Function at 0x1800cad00
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x60
mov qword [rsp + 0x70], rdi
mov rdi, rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
call fcn.1800bf620
movups xmm0, xmmword [str.V_CQC_U]
mov dword [0x1802e7020], eax
xor r8d, r8d
cmp dword [reloc.WS2_32.dll_accept], 2
mov eax, dword [0x1801aaa70]
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x48], eax
movsd xmm0, qword [0x1801aaa68]
movzx eax, byte [0x1801aaa74]
movsd qword [rsp + 0x40], xmm0
mov byte [rsp + 0x4c], al
jl 0x1800cae96
movdqa xmm0, xmmword [str.5555555555555555]
lea rcx, [rsp + 0x34]
movdqa xmm4, xmmword [0x180169bc0]
movdqa xmm3, xmmword [0x1801adbf0]
movdqa xmm5, xmmword [str.::::]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm6
movdqa xmm6, xmmword [0x180170cb0]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm4
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movd dword [rcx - 0xc], xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x1800cada0
movaps xmm6, xmmword [rsp + 0x50]
cmp r8d, 0x1d
jge 0x1800caed5
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
mov eax, 0x8d3dcb09
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x1800caea1
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [0x1802e7020]
add rax, rdi
mov rdi, qword [rsp + 0x70]
mov qword [0x1802e7028], rax
mov qword [0x1802e6fa8], rbx
mov byte [0x1802e6fa4], 1
cmp ecx, 0xa34
jg 0x1800cb33c
je 0x1800cb2a8
cmp ecx, 0x644
je 0x1800cb1eb
cmp ecx, 0x80c
je 0x1800cb12e
cmp ecx, 0x88d
je 0x1800cb084
cmp ecx, 0x944
je 0x1800cafe5
cmp ecx, 0x9f1
jne 0x1800cb755
mov rax, qword [rbx + 0x25667e8]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1f2e7a8]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x1fd6f70]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x78c5e4]
mov qword [0x1802e7030], rax
mov qword [0x1802e6fd8], 0x1450
mov qword [0x1802e6fd0], 0x1fd7b48
mov qword [0x1801e0e68], 0x1530
mov qword [0x1802e6fe0], 0x10d8
mov rax, qword [rbx + 0xff1ad4]
add rbx, 0x15deeb0
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0xff1b40
mov qword [0x1802e7008], 0x1131018
jmp 0x1800cb738
mov rax, qword [rbx + 0x252dcd8]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1f05208]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x1f9e9f0]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x787fe4]
mov qword [0x1802e7030], rax
mov qword [0x1802e6fd8], 0x1400
mov qword [0x1802e6fd0], 0x1f9f5c8
mov qword [0x1801e0e68], 0x14e0
mov qword [0x1802e6fe0], 0x10d8
mov rax, qword [rbx + 0xfe7e8c]
add rbx, 0x15cd2c0
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0xfe7ef8
mov qword [0x1802e7000], 0x1192838
mov qword [0x1802e7008], 0x1120d30
jmp 0x1800cb738
mov rax, qword [rbx + 0x24e6d90]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1ee18a8]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x1f888c0]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x79b5dc]
mov qword [0x1802e7030], rax
mov qword [0x1802e6fd8], 0x1400
mov qword [0x1802e6fd0], 0x1f89498
mov qword [0x1801e0e60], 0x68
mov qword [0x1801e0e68], 0x14e0
mov qword [0x1802e6fe0], 0x10d8
mov rax, qword [rbx + 0xfe20e8]
add rbx, 0x15b1008
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0xfe2154
mov qword [0x1802e7000], 0x118bb54
mov qword [0x1802e7008], 0x11185d4
jmp 0x1800cb738
mov rax, qword [rbx + 0x24c8858]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1ec3828]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x2087780]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x7935d0]
mov qword [0x1802e7030], rax
mov qword [0x1802e6fd8], 0x1400
mov qword [0x1802e6fd0], 0x1f6b3c0
mov qword [0x1801e0e60], 0x68
mov qword [0x1801e0e68], 0x14e0
mov qword [0x1802e6fe0], 0x10d8
mov rax, qword [rbx + 0xfce680]
add rbx, 0x159b224
mov qword [0x1802e7018], rbx
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0xfce6ec
mov qword [0x1802e6ff0], 0x2e8
mov qword [0x1802e6ff8], 0x74
mov qword [0x1802e7008], 0x1103158
add rsp, 0x60
pop rbx
ret
mov rax, qword [rbx + 0x247f840]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1efd4c8]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x2087780]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x779d64]
mov qword [0x1802e7030], rax
mov qword [0x1802e6fd8], 0x1400
mov qword [0x1802e6fd0], 0x2088360
mov qword [0x1801e0e60], 0x60
mov qword [0x1801e0e68], 0x14b8
mov qword [0x1802e6fe0], 0x10c8
mov rax, qword [rbx + 0xe79470]
add rbx, 0x1561e30
mov qword [0x1802e7018], rbx
mov qword [0x1802e6fe8], rax
mov qword [0x1802e6ff0], 0x2e8
mov qword [0x1802e6ff8], 0x74
mov qword [0x1802e7000], 0x1141630
mov qword [0x1802e7008], 0x10d0048
add rsp, 0x60
pop rbx
ret
mov rax, qword [rbx + 0x2567db0]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1f77ef0]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x1fd8570]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x78c758]
mov qword [0x1802e7030], rax
mov qword [0x1802e6fd8], 0x1450
mov qword [0x1802e6fd0], 0x1fd9148
mov qword [0x1801e0e68], 0x1530
mov qword [0x1802e6fe0], 0x10d8
mov rax, qword [rbx + 0xff3a0]
add rbx, 0x15dfe20
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0xff340c
mov qword [0x1802e7008], 0x1131d28
jmp 0x1800cb738
sub ecx, 0xa8b
je 0x1800cb696
sub ecx, 0x67
je 0x1800cb5d6
sub ecx, 0x8e
je 0x1800cb4fd
sub ecx, 0x97
je 0x1800cb419
cmp ecx, 0xa3
jne 0x1800cb755
mov rax, qword [rbx + 0x25b14b0]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1fbd4f0]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x201dba0]
add rbx, 0x1639ce8
mov qword [0x1802e6fc0], rax
mov qword [0x1801e0e50], 0x10a8
mov qword [0x1801e0e60], 0xe8
mov qword [0x1801e0e58], 0x410
mov qword [0x1802e6fd8], 0x1430
mov qword [0x1802e6fd0], 0x201e7d0
mov qword [0x1802e6fe0], 0x10b8
mov qword [0x1801e0e70], 0x101a660
mov qword [0x1802e6ff8], 0x74
mov qword [0x1802e7000], 0x1160b7c
mov qword [0x1801e0e78], 0x284
jmp 0x1800cb743
mov rax, qword [rbx + 0x2593320]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1f58b58]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x20019e0]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x6a18ac]
mov qword [0x1802e6fc8], rax
lea rax, [rbx + 0x79bb34]
mov qword [0x1802e7030], rax
mov qword [0x1801e0e50], 0x10a8
mov qword [0x1801e0e60], 0xe8
mov qword [0x1801e0e58], 0x410
mov qword [0x1802e6fd8], 0x1430
mov qword [0x1802e6fd0], 0x20025b8
mov qword [0x1802e6fe0], 0x10b8
mov rax, qword [rbx + 0x100f538]
add rbx, 0x1624f80
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0x100f5a4
mov qword [0x1802e6ff8], 0x74
mov qword [0x1802e7000], 0x1150adc
mov qword [0x1802e7008], 0x118786c
mov qword [0x1801e0e78], 0x284
mov qword [0x1802e7010], 0xb32f88
jmp 0x1800cb743
mov rax, qword [rbx + 0x257bea0]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1f42068]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x1feaac0]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x695fd4]
mov qword [0x1802e6fc8], rax
lea rax, [rbx + 0x795f9c]
mov qword [0x1802e7030], rax
mov qword [0x1801e0e50], 0x10a8
mov qword [0x1801e0e60], 0xe8
mov qword [0x1801e0e58], 0x410
mov qword [0x1802e6fd8], 0x1430
mov qword [0x1802e6fd0], 0x1feb698
mov qword [0x1802e6fe0], 0x10b8
mov rax, qword [rbx + 0x1003f14]
add rbx, 0x160ff90
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0x1003f80
mov qword [0x1802e6ff8], 0x74
mov qword [0x1802e7000], 0x11c67d0
mov qword [0x1802e7008], 0x1101b50
mov qword [0x1801e0e78], 0x284
jmp 0x1800cb743
mov rax, qword [rbx + 0x254d448]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x1f5b820]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x1fbc100]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x794784]
mov qword [0x1802e7030], rax
mov qword [0x1801e0e50], 0x10a8
mov qword [0x1801e0e58], 0x410
mov qword [0x1802e6fd8], 0x1430
mov qword [0x1802e6fd0], 0x1fbccd8
mov qword [0x1802e6fe0], 0x10b8
mov rax, qword [rbx + 0xff7100]
add rbx, 0x15ea290
mov qword [0x1802e6fe8], rax
mov qword [0x1801e0e70], 0xff716c
mov qword [0x1802e6ff8], 0x74
mov qword [0x1802e7000], 0x11b1ae0
mov qword [0x1802e7008], 0x10f0a6c
mov qword [0x1801e0e78], 0x284
jmp 0x1800cb743
mov rax, qword [rbx + 0x26684d8]
mov qword [0x1802e6fb8], rax
mov rax, qword [rbx + 0x20304c8]
mov qword [0x1802e6fb0], rax
mov rax, qword [rbx + 0x20d8c90]
mov qword [0x1802e6fc0], rax
lea rax, [rbx + 0x78f450]
mov qword [0x1802e7030], rax
add rbx, 0x15d6cec
mov qword [0x1802e6fd8], 0x1450
mov qword [0x1802e6fd0], 0x20d9868
mov qword [0x1801e0e68], 0x1530
mov qword [0x1802e6fe0], 0x10d8
mov qword [0x1802e6fe8], 0xff9d24
mov qword [0x1801e0e70], 0xff9d90
mov qword [0x1802e7000], 0x11ae74c
mov qword [0x1802e7008], 0x10ef174
mov qword [0x1802e7010], 0xb1f3b0
mov qword [0x1802e6ff8], 0x84
mov qword [0x1802e6ff0], 0x2f4
mov qword [0x1802e7018], rbx
add rsp, 0x60
pop rbx
ret