Function at 0x180011b90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
cmp dword [0x1800415f4], 0
mov rbx, rdx
mov rdi, rcx
jne 0x180011bb8
call fcn.180011890
mov dword [0x1800415f4], 1
lea rax, [rdi + 0x10]
mov dword [rdi], reloc.WS2_32.dll_ntohl
xor r10d, r10d
mov qword [rdi + 8], rax
mov r11, rax
lea r9, [rbx + 2]
movzx ecx, byte [r9]
movzx r8d, byte [r9 + 1]
lea r11, [r11 + 4]
shl r8d, 8
lea r9, [r9 + 4]
or r8d, ecx
movzx ecx, byte [r9 - 5]
shl r8d, 8
or r8d, ecx
lea ecx, [r10*4]
inc r10d
movzx ecx, byte [rcx + rbx]
shl r8d, 8
or r8d, ecx
mov dword [r11 - 4], r8d
cmp r10d, 8
jb 0x180011bd0
mov ecx, dword [rdi]
cmp ecx, 0xa
je 0x180011dc6
cmp ecx, 0xc
je 0x180011d29
cmp ecx, 0xe
jne 0x180011e49
mov qword [rsp + 0x30], rsi
lea rdi, [0x180043110]
lea rbx, [0x180043940]
lea esi, [rcx - 7]
nop word [rax + rax]
mov r11d, dword [rax + 0x1c]
lea rax, [rax + 0x20]
lea rdi, [rdi + 4]
movzx ecx, r11b
movzx r8d, byte [rcx + rbx]
movzx ecx, byte [rax - 1]
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax - 2]
shl r8d, 8
xor r8d, edx
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax - 3]
shl r8d, 8
xor r8d, edx
movzx edx, byte [rcx + rbx]
mov ecx, dword [rax - 0x1c]
shl r8d, 8
xor r8d, edx
mov edx, dword [rax - 0x18]
xor r8d, dword [rax - 0x20]
xor r8d, dword [rdi - 4]
xor ecx, r8d
mov dword [rax], r8d
mov r8d, dword [rax - 0x14]
xor edx, ecx
mov dword [rax + 4], ecx
xor r8d, edx
mov dword [rax + 8], edx
mov dword [rax + 0xc], r8d
movzx ecx, byte [rax + 0xf]
movzx r9d, byte [rcx + rbx]
movzx ecx, byte [rax + 0xe]
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax + 0xd]
shl r9d, 8
xor r9d, edx
movzx edx, byte [rcx + rbx]
movzx ecx, r8b
shl r9d, 8
xor r9d, edx
movzx edx, byte [rcx + rbx]
mov ecx, dword [rax - 0xc]
shl r9d, 8
xor r9d, edx
mov edx, dword [rax - 8]
xor r9d, dword [rax - 0x10]
xor ecx, r9d
mov dword [rax + 0x10], r9d
xor edx, ecx
mov dword [rax + 0x14], ecx
mov dword [rax + 0x18], edx
xor edx, r11d
mov dword [rax + 0x1c], edx
dec rsi
jne 0x180011c50
mov rsi, qword [rsp + 0x30]
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rdi, [0x180043110]
mov r11d, 8
lea rbx, [0x180043940]
nop dword [rax]
mov r10d, dword [rax + 0x14]
lea rax, [rax + 0x18]
lea rdi, [rdi + 4]
movzx ecx, r10b
movzx r9d, byte [rcx + rbx]
movzx ecx, byte [rax - 1]
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax - 2]
shl r9d, 8
xor r9d, edx
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax - 3]
shl r9d, 8
xor r9d, edx
movzx edx, byte [rcx + rbx]
mov ecx, dword [rax - 0x14]
shl r9d, 8
xor r9d, edx
mov edx, dword [rax - 0x10]
xor r9d, dword [rdi - 4]
xor r9d, dword [rax - 0x18]
xor ecx, r9d
mov dword [rax], r9d
xor edx, ecx
mov dword [rax + 4], ecx
mov ecx, dword [rax - 0xc]
xor ecx, edx
mov dword [rax + 8], edx
mov edx, dword [rax - 8]
xor edx, ecx
mov dword [rax + 0xc], ecx
mov dword [rax + 0x10], edx
xor edx, r10d
mov dword [rax + 0x14], edx
dec r11
jne 0x180011d40
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
lea rdi, [0x180043110]
mov r11d, 0xa
lea rbx, [0x180043940]
nop word [rax + rax]
mov r10d, dword [rax + 0xc]
lea rax, [rax + 0x10]
lea rdi, [rdi + 4]
movzx ecx, r10b
movzx r9d, byte [rcx + rbx]
movzx ecx, byte [rax - 1]
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax - 2]
shl r9d, 8
xor r9d, edx
movzx edx, byte [rcx + rbx]
movzx ecx, byte [rax - 3]
shl r9d, 8
xor r9d, edx
movzx edx, byte [rcx + rbx]
mov ecx, dword [rax - 0xc]
shl r9d, 8
xor r9d, edx
mov edx, dword [rax - 8]
xor r9d, dword [rdi - 4]
xor r9d, dword [rax - 0x10]
xor ecx, r9d
mov dword [rax], r9d
xor edx, ecx
mov dword [rax + 4], ecx
mov dword [rax + 8], edx
xor edx, r10d
mov dword [rax + 0xc], edx
dec r11
jne 0x180011de0
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret