Function at 0x18005dcb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xe8
mov rax, qword [0x180201ac0]
xor rax, rsp
mov qword [rbp - 1], rax
mov qword [rbp - 0x71], r9
mov qword [rbp - 0x41], r8
mov rbx, rdx
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x40]
call fcn.180057b5c
mov qword [rbp - 0x49], rax
mov sil, 7
xor edi, edi
cmp byte [rax + 6], dil
je 0x18005dd2a
mov r8d, edi
mov cl, r8b
and cl, sil
shl cl, 3
movabs rdx, 0x89dd65ef49e19bb9
shr rdx, cl
xor byte [r8 + rax], dl
inc r8
cmp r8, 6
jb 0x18005dd03
mov byte [rax + 6], dil
lea rcx, [rsp + 0x40]
call fcn.180057690
mov r14, rax
mov qword [rbp - 0x79], rax
cmp byte [rax + 0xc], dil
je 0x18005dd6b
mov r9, rdi
mov cl, r9b
and cl, sil
shl cl, 3
movabs r8, 0x7d27a173ddebdf93
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0xc
jb 0x18005dd44
mov byte [rax + 0xc], dil
lea rcx, [rsp + 0x40]
call fcn.180057124
mov qword [rbp - 0x39], rax
cmp byte [rax + 0x12], dil
je 0x18005dda9
mov r9, rdi
mov cl, r9b
and cl, sil
shl cl, 3
movabs r8, 0xdfe7f527c79f85eb
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x12
jb 0x18005dd82
mov byte [rax + 0x12], dil
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x61], xmm0
mov rsi, rdi
mov qword [rbp - 0x51], rdi
mov r13, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rbp - 0x31], rax
or r12, 0xffffffffffffffff
cmp r13, rax
je 0x18005e1e3
mov r15, qword [rbp - 0x59]
xor ebx, ebx
call fcn.18004cd48
mov rdi, rax
cmp byte [rbp + 0x7f], bl
jne 0x18005de10
cmp qword [r13 + 0x30], rbx
je 0x18005dede
test rdi, rdi
je 0x18005e171
mov rcx, rdi
call fcn.18004ca80
mov edx, 0xb8
mov rcx, rdi
call fcn.180133ca4
jmp 0x18005e171
cmp qword [r13 + 0x30], rbx
je 0x18005dded
mov rcx, r12
mov r9, qword [rbp - 0x49]
inc rcx
cmp byte [r9 + rcx], bl
jne 0x18005de1d
mov rdx, qword [r13 + 0x30]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x18005e24e
lea r8, [r13 + 0x20]
mov rax, r8
cmp qword [r13 + 0x38], 0x10
jb 0x18005de51
mov rax, qword [r8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov dl, byte [rsp + 0x40]
lea rcx, [rbp - 0x21]
call fcn.180054dc0
nop
lea rcx, [rdi + 8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x18005de9a
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rdx + 0x10], xmm1
mov edx, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x21], bl
add qword [rcx + 8], 0x20
jmp 0x18005dea7
lea r8, [rbp - 0x21]
call fcn.180041890
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x18005dede
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ded9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e248
call fcn.180133ca4
mov dword [rdi], 1
lea rcx, [rdi + 0x20]
mov rdx, r13
call fcn.18002c1e0
lea rcx, [rdi + 0x40]
mov rdx, qword [rbp - 0x41]
call fcn.18002c1e0
lea rax, [fcn.180058e1c]
mov qword [rdi + 0x88], rax
mov ecx, 0x210
call fcn.1801338e8
mov rbx, rax
mov qword [rbp - 0x29], rax
xor edx, edx
test rax, rax
je 0x18005df54
mov qword [rbp - 0x21], rdx
mov qword [rbp - 0x11], rdx
mov qword [rbp - 9], rdx
mov rdx, qword [rsp + 0x48]
add rdx, 0xc0
lea rcx, [rbp - 0x21]
call fcn.18002e610
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.1800554e4
xor edx, edx
jmp 0x18005df57
mov rax, rdx
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x69], rax
mov qword [rdi + 0x90], rax
lea rcx, [0x18004d604]
mov qword [rdi + 0x98], rcx
mov rbx, qword [rsp + 0x48]
mov qword [rdi + 0xa0], rbx
mov rcx, qword [rbp - 0x71]
cmp qword [rcx + 0xe0], rdx
je 0x18005e13a
lea rbx, [rcx + 0xd0]
mov rcx, r12
inc rcx
cmp byte [r14 + rcx], dl
jne 0x18005df9c
mov rdx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x18005e24e
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18005dfcc
mov rax, qword [rbx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, r14
mov r8, rbx
mov dl, byte [rsp + 0x40]
lea rcx, [rbp - 0x21]
call fcn.180054dc0
nop
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 0x18]
je 0x18005e018
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rdx + 0x10], xmm1
mov edx, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x21], 0
add qword [rdi + 0x10], 0x20
jmp 0x18005e029
lea r8, [rbp - 0x21]
lea rcx, [rdi + 8]
call fcn.180041890
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x18005e060
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e05b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e248
call fcn.180133ca4
mov rcx, r12
mov r8, qword [rbp - 0x39]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x18005e067
mov rdx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, rcx
jb 0x18005e24e
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18005e098
mov rax, qword [rbx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, r8
mov r8, rbx
mov dl, byte [rsp + 0x40]
lea rcx, [rbp - 0x21]
call fcn.180054dc0
nop
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 0x18]
je 0x18005e0e4
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rdx + 0x10], xmm1
mov edx, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x21], 0
add qword [rdi + 0x10], 0x20
jmp 0x18005e0f5
lea r8, [rbp - 0x21]
lea rcx, [rdi + 8]
call fcn.180041890
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x18005e12c
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e127
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e248
call fcn.180133ca4
mov rbx, qword [rsp + 0x48]
mov r14, qword [rbp - 0x79]
mov rax, qword [rsp + 0x50]
cmp r15, rsi
je 0x18005e14c
mov qword [r15], rax
add r15, 8
mov qword [rbp - 0x59], r15
jmp 0x18005e164
lea r8, [rbp - 0x69]
mov rdx, r15
lea rcx, [rbp - 0x61]
call fcn.18004e478
mov rsi, qword [rbp - 0x51]
mov r15, qword [rbp - 0x59]
mov rdx, rdi
mov rcx, rbx
call fcn.18004ccbc
xor ebx, ebx
add r13, 0x40
cmp r13, qword [rbp - 0x31]
jne 0x18005ddd6
mov rbx, qword [rbp - 0x61]
cmp rbx, r15
je 0x18005e1e7
mov rcx, qword [rsp + 0x48]
call fcn.18004d0c8
mov rax, rbx
mov rdx, qword [rax]
cmp byte [rdx + 0x208], 0
jne 0x18005e1ac
add rax, 8
cmp rax, r15
jne 0x18005e195
jmp 0x18005e1b8
mov rcx, qword [rbp - 0x71]
call fcn.180056134
xor r12d, r12d
mov rdi, rbx
mov r14, qword [rdi]
test r14, r14
je 0x18005e1d8
mov rcx, r14
call fcn.180055fd0
mov edx, 0x210
mov rcx, r14
call fcn.180133ca4
add rdi, 8
cmp rdi, r15
jne 0x18005e1bb
jmp 0x18005e1e7
mov rbx, qword [rbp - 0x61]
test rbx, rbx
je 0x18005e21f
sub rsi, rbx
and rsi, 0xfffffffffffffff8
mov rax, rbx
cmp rsi, 0x1000
jb 0x18005e214
add rsi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e242
mov rdx, rsi
mov rcx, rbx
call fcn.180133ca4
mov eax, r12d
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.180133630
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18013a40c
nop
call fcn.18013a40c
nop
call fcn.18002b5f0
int3