Function at 0x180401d20
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, rsi
add rax, 0x68
mov cl, byte [rax]
mov eax, dword [str.y2_]
imul eax, dword [0x1807992b4]
or eax, 0xd9a28e2f
imul eax, eax, 0x1ff2cff5
mov r8d, 0x26092bae
xor edx, edx
div r8d
cmp eax, 0x217312a8
je 0x180402056
jmp 0x180401d65
mov eax, dword [0x1807992b8]
xor edx, edx
div dword [0x1807992bc]
mov r8d, 0x78c67a49
xor edx, edx
div r8d
mov r8d, 0xbdc3eea4
xor edx, edx
div r8d
xor eax, 0xd2b8aacd
cmp cl, 3
sete dl
cmp eax, 0x4b69f880
jb 0x180401d65
test dl, 1
jne 0x180401dac
jmp 0x180401da2
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
mov r14, rsi
add r14, 0x20
mov rcx, rsi
add rcx, 0x60
mov eax, dword [0x1807992c0]
or eax, dword [0x1807992c4]
mov r8d, 0xaedea032
xor edx, edx
div r8d
xor eax, 0xd52976ce
xor eax, 0xe1e6d3e3
cmp eax, 0x712955fd
ja 0x180402067
mov eax, dword [0x1807992c8]
add eax, dword [0x1807992cc]
mov r8d, 0x6179896d
xor edx, edx
div r8d
sub eax, 0x6fd5039d
xor eax, 0x518d2a74
movzx edx, byte [rcx]
cmp eax, 0x6b763f62
je 0x180402067
test edx, edx
je 0x180401e29
jmp 0x180401e1b
sub edx, 3
je 0x180401ffa
jmp 0x180401da2
add rsi, 0x28
mov rbx, qword [rsi]
cmp rbx, 0
sete cl
mov eax, dword [0x1807992d0]
or eax, dword [0x1807992d4]
mov r8d, 0xf9f5cb
xor edx, edx
div r8d
add eax, 0x375425c7
sub eax, 0x66f814b6
cmp eax, 0x66059f3d
jbe 0x180402078
jmp 0x180401e65
mov eax, dword [0x1807992d8]
or eax, dword [0x1807992dc]
mov r8d, 0xedb98b4
xor edx, edx
div r8d
and eax, 0x5b05cc23
xor eax, 0xbe120d8c
cmp eax, 0x81df195e
je 0x180401e65
test cl, 1
jne 0x180401f95
jmp 0x180401e98
mov rcx, rbx
call fcn.1806595d0
mov rax, qword [rbx]
lock dec qword [rax]
sete al
test al, 1
je 0x180401eb8
mov rcx, rbx
call fcn.1804b9d30
jmp 0x180401eb8
mov rdi, rbx
add rdi, 8
mov rax, qword [rbx + 8]
lock dec qword [rax]
sete al
test al, 1
jne 0x180401ed3
jmp 0x180401f80
mov eax, dword [0x1807992e0]
add eax, dword [0x1807992e4]
xor eax, 0x3be06421
add eax, 0x287f396d
xor eax, 0xdcfd3414
cmp eax, 0xd5c348f
je 0x180402089
mov eax, dword [0x1807992e8]
mov ecx, dword [0x1807992ec]
or eax, ecx
or eax, 0x60028210
and eax, 0x7403b212
cmp eax, 0x4e059540
jb 0x180402089
jmp 0x180401f1e
mov eax, dword [0x1807992f0]
xor eax, dword [0x1807992f4]
mov ecx, 0xeb63956b
xor edx, edx
div ecx
xor eax, 0x7198a4a2
and eax, 0x3f6ac4aa
cmp eax, 0x8e1aceb4
ja 0x180402096
jmp 0x180401f4a
mov eax, dword [0x1807992f8]
add eax, dword [0x1807992fc]
or eax, 0x708b433a
imul eax, eax, 0xbf72b083
mov ecx, 0x7a7a9777
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call fcn.1804c6740
cmp ebx, 0xdfc3c01e
jae 0x180401f4a
jmp 0x180401f7e
jmp 0x180401f80
mov rcx, qword [rsi]
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
jmp 0x180401f95
mov rsi, qword [r14]
mov eax, dword [0x180799300]
or eax, dword [0x180799304]
mov ecx, 0x4b3ff20f
xor edx, edx
div ecx
and eax, 0xcfbea894
add eax, 0x923a780c
cmp eax, 0x1aaf1d41
je 0x1804020ab
jmp 0x180401fc4
mov eax, dword [0x180799308]
sub eax, dword [0x18079930c]
imul edi, eax, 0xa0458136
sub edi, 0x76d95c5
and edi, 0xd026e359
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
cmp edi, 0x1c9b4654
je 0x180401fc4
jmp 0x180401ff5
jmp 0x180401da2
add rsi, 0x30
mov rcx, rsi
call fcn.180401510
mov eax, dword [0x180799310]
sub eax, dword [0x180799314]
or eax, 0x2f1e238b
xor eax, 0x8aebd894
or eax, 0x22c3f773
cmp eax, 0x92049430
jae 0x1804020c1
jmp 0x18040202e
mov eax, dword [0x180799318]
or eax, dword [0x18079931c]
xor eax, 0xb502db04
imul eax, eax, 0x847e555a
sub eax, 0x1d5e9778
cmp eax, 0x52d99e96
jb 0x18040202e
jmp 0x180401da2
lodsd eax, dword [rsi]
cmp cl, ch
sub dword [0x12341cbd1], edx
pop rax
paddusw mm5, mm1
cld
cld
invalid
jns 0x1804020ab
xor al, 0x65
movabs byte [0xe97ce71d4157e8b8], al
outsb dx, byte [rsi]
std
invalid
outsb dx, byte [rsi]
invalid
invalid
mov esp, 0xad954fb6
fidiv dword [rbp + 0xd]
mov rcx, rdi
call fcn.1804c6740
jmp 0x180401f48
push rsp
sar byte [0x197b9e031], 1
in al, dx
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
jmp 0x180401fc2
push rbx
xchg edi, eax
push 0x6c
xor al, byte [rdx]
movsd dword [rdi], dword [rsi]
mov dl, 0x8c
pop rsp
cmpsb byte [rsi], byte [rdi]
in eax, dx
jmp 0x18040202c