Function at 0x1800dc1a0
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.1800d0cc0
movups xmm0, xmmword [0x1801aae58]
mov dword [0x1802e0518], eax
xor r8d, r8d
cmp dword [reloc.WS2_32.dll_accept], 2
mov eax, dword [0x1801aae70]
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x48], eax
movsd xmm0, qword [0x1801aae68]
movzx eax, byte [0x1801aae74]
movsd qword [rsp + 0x40], xmm0
mov byte [rsp + 0x4c], al
jl 0x1800dc32e
movdqa xmm0, xmmword [str.5555555555555555]
lea rcx, [rsp + 0x34]
movdqa xmm4, xmmword [0x180168c90]
movdqa xmm3, xmmword [0x1801aecf0]
movdqa xmm5, xmmword [str.1111]
movdqa xmmword [rsp + 0x20], xmm0
mov edx, dword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm6
movdqa xmm6, xmmword [0x18016fe50]
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
psrad xmm1, 4
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
psrad xmm1, 4
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 0x1800dc240
movaps xmm6, xmmword [rsp + 0x50]
cmp r8d, 0x1d
jge 0x1800dc371
movsxd rax, r8d
lea r9, [rsp + 0x30]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x1800dc340
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [0x1802e0518]
add rax, rdi
mov rdi, qword [rsp + 0x70]
mov qword [0x1802e0520], rax
mov qword [0x1802e0498], rbx
mov byte [0x1802e04e4], 1
cmp ecx, 0xa34
jg 0x1800dc7d8
je 0x1800dc744
cmp ecx, 0x644
je 0x1800dc687
cmp ecx, 0x80c
je 0x1800dc5ca
cmp ecx, 0x88d
je 0x1800dc520
cmp ecx, 0x944
je 0x1800dc481
cmp ecx, 0x9f1
jne 0x1800dcbf1
mov rax, qword [rbx + 0x25667e8]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1f2e7a8]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x1fd6f70]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x78c5e4]
mov qword [0x1802e0528], rax
mov qword [0x1802e04c8], 0x1450
mov qword [0x1802e04c0], 0x1fd7b48
mov qword [0x1801da908], 0x1530
mov qword [0x1802e04d0], 0x10d8
mov rax, qword [rbx + 0xff1ad4]
add rbx, 0x15deeb0
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0xff1b40
mov qword [0x1802e0500], 0x1131018
jmp 0x1800dcbd4
mov rax, qword [rbx + 0x252dcd8]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1f05208]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x1f9e9f0]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x787fe4]
mov qword [0x1802e0528], rax
mov qword [0x1802e04c8], 0x1400
mov qword [0x1802e04c0], 0x1f9f5c8
mov qword [0x1801da908], 0x14e0
mov qword [0x1802e04d0], 0x10d8
mov rax, qword [rbx + 0xfe7e8c]
add rbx, 0x15cd2c0
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0xfe7ef8
mov qword [0x1802e04f8], 0x1192838
mov qword [0x1802e0500], 0x1120d30
jmp 0x1800dcbd4
mov rax, qword [rbx + 0x24e6d90]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1ee18a8]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x1f888c0]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x79b5dc]
mov qword [0x1802e0528], rax
mov qword [0x1802e04c8], 0x1400
mov qword [0x1802e04c0], 0x1f89498
mov qword [0x1801da900], 0x68
mov qword [0x1801da908], 0x14e0
mov qword [0x1802e04d0], 0x10d8
mov rax, qword [rbx + 0xfe20e8]
add rbx, 0x15b1008
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0xfe2154
mov qword [0x1802e04f8], 0x118bb54
mov qword [0x1802e0500], 0x11185d4
jmp 0x1800dcbd4
mov rax, qword [rbx + 0x24c8858]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1ec3828]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x2087780]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x7935d0]
mov qword [0x1802e0528], rax
mov qword [0x1802e04c8], 0x1400
mov qword [0x1802e04c0], 0x1f6b3c0
mov qword [0x1801da900], 0x68
mov qword [0x1801da908], 0x14e0
mov qword [0x1802e04d0], 0x10d8
mov rax, qword [rbx + 0xfce680]
add rbx, 0x159b224
mov qword [0x1802e0510], rbx
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0xfce6ec
mov qword [0x1802e04e8], 0x2e8
mov qword [0x1802e04f0], 0x74
mov qword [0x1802e0500], 0x1103158
add rsp, 0x60
pop rbx
ret
mov rax, qword [rbx + 0x247f840]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1efd4c8]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x2087780]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x779d64]
mov qword [0x1802e0528], rax
mov qword [0x1802e04c8], 0x1400
mov qword [0x1802e04c0], 0x2088360
mov qword [0x1801da900], 0x60
mov qword [0x1801da908], 0x14b8
mov qword [0x1802e04d0], 0x10c8
mov rax, qword [rbx + 0xe79470]
add rbx, 0x1561e30
mov qword [0x1802e0510], rbx
mov qword [0x1802e04d8], rax
mov qword [0x1802e04e8], 0x2e8
mov qword [0x1802e04f0], 0x74
mov qword [0x1802e04f8], 0x1141630
mov qword [0x1802e0500], 0x10d0048
add rsp, 0x60
pop rbx
ret
mov rax, qword [rbx + 0x2567db0]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1f77ef0]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x1fd8570]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x78c758]
mov qword [0x1802e0528], rax
mov qword [0x1802e04c8], 0x1450
mov qword [0x1802e04c0], 0x1fd9148
mov qword [0x1801da908], 0x1530
mov qword [0x1802e04d0], 0x10d8
mov rax, qword [rbx + 0xff3a0]
add rbx, 0x15dfe20
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0xff340c
mov qword [0x1802e0500], 0x1131d28
jmp 0x1800dcbd4
sub ecx, 0xa8b
je 0x1800dcb32
sub ecx, 0x67
je 0x1800dca72
sub ecx, 0x8e
je 0x1800dc999
sub ecx, 0x97
je 0x1800dc8b5
cmp ecx, 0xa3
jne 0x1800dcbf1
mov rax, qword [rbx + 0x25b14b0]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1fbd4f0]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x201dba0]
add rbx, 0x1639ce8
mov qword [0x1802e04b0], rax
mov qword [0x1801da8f0], 0x10a8
mov qword [0x1801da900], 0xe8
mov qword [0x1801da8f8], 0x410
mov qword [0x1802e04c8], 0x1430
mov qword [0x1802e04c0], 0x201e7d0
mov qword [0x1802e04d0], 0x10b8
mov qword [0x1801da910], 0x101a660
mov qword [0x1802e04f0], 0x74
mov qword [0x1802e04f8], 0x1160b7c
mov qword [0x1801da918], 0x284
jmp 0x1800dcbdf
mov rax, qword [rbx + 0x2593320]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1f58b58]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x20019e0]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x6a18ac]
mov qword [0x1802e04b8], rax
lea rax, [rbx + 0x79bb34]
mov qword [0x1802e0528], rax
mov qword [0x1801da8f0], 0x10a8
mov qword [0x1801da900], 0xe8
mov qword [0x1801da8f8], 0x410
mov qword [0x1802e04c8], 0x1430
mov qword [0x1802e04c0], 0x20025b8
mov qword [0x1802e04d0], 0x10b8
mov rax, qword [rbx + 0x100f538]
add rbx, 0x1624f80
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0x100f5a4
mov qword [0x1802e04f0], 0x74
mov qword [0x1802e04f8], 0x1150adc
mov qword [0x1802e0500], 0x118786c
mov qword [0x1801da918], 0x284
mov qword [0x1802e0508], 0xb32f88
jmp 0x1800dcbdf
mov rax, qword [rbx + 0x257bea0]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1f42068]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x1feaac0]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x695fd4]
mov qword [0x1802e04b8], rax
lea rax, [rbx + 0x795f9c]
mov qword [0x1802e0528], rax
mov qword [0x1801da8f0], 0x10a8
mov qword [0x1801da900], 0xe8
mov qword [0x1801da8f8], 0x410
mov qword [0x1802e04c8], 0x1430
mov qword [0x1802e04c0], 0x1feb698
mov qword [0x1802e04d0], 0x10b8
mov rax, qword [rbx + 0x1003f14]
add rbx, 0x160ff90
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0x1003f80
mov qword [0x1802e04f0], 0x74
mov qword [0x1802e04f8], 0x11c67d0
mov qword [0x1802e0500], 0x1101b50
mov qword [0x1801da918], 0x284
jmp 0x1800dcbdf
mov rax, qword [rbx + 0x254d448]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x1f5b820]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x1fbc100]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x794784]
mov qword [0x1802e0528], rax
mov qword [0x1801da8f0], 0x10a8
mov qword [0x1801da8f8], 0x410
mov qword [0x1802e04c8], 0x1430
mov qword [0x1802e04c0], 0x1fbccd8
mov qword [0x1802e04d0], 0x10b8
mov rax, qword [rbx + 0xff7100]
add rbx, 0x15ea290
mov qword [0x1802e04d8], rax
mov qword [0x1801da910], 0xff716c
mov qword [0x1802e04f0], 0x74
mov qword [0x1802e04f8], 0x11b1ae0
mov qword [0x1802e0500], 0x10f0a6c
mov qword [0x1801da918], 0x284
jmp 0x1800dcbdf
mov rax, qword [rbx + 0x26684d8]
mov qword [0x1802e04a8], rax
mov rax, qword [rbx + 0x20304c8]
mov qword [0x1802e04a0], rax
mov rax, qword [rbx + 0x20d8c90]
mov qword [0x1802e04b0], rax
lea rax, [rbx + 0x78f450]
mov qword [0x1802e0528], rax
add rbx, 0x15d6cec
mov qword [0x1802e04c8], 0x1450
mov qword [0x1802e04c0], 0x20d9868
mov qword [0x1801da908], 0x1530
mov qword [0x1802e04d0], 0x10d8
mov qword [0x1802e04d8], 0xff9d24
mov qword [0x1801da910], 0xff9d90
mov qword [0x1802e04f8], 0x11ae74c
mov qword [0x1802e0500], 0x10ef174
mov qword [0x1802e0508], 0xb1f3b0
mov qword [0x1802e04f0], 0x84
mov qword [0x1802e04e8], 0x2f4
mov qword [0x1802e0510], rbx
add rsp, 0x60
pop rbx
ret