Function at 0x140001f50
Capabilities:
Encode data using xor

Disassembly:
push rdi
sub rsp, 0x150
mov rax, qword [0x1400643c8]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov r9, rdx
mov rdi, rcx
mov edx, r8d
sub edx, 0x80
je 0x140001f9a
sub edx, 0x40
je 0x140001f92
cmp edx, 0x40
jne 0x1400021e0
mov dword [rcx], 0xe
jmp 0x140001fa0
mov dword [rcx], reloc.WS2_32.dll_inet_ntoa
jmp 0x140001fa0
mov dword [rcx], 0xa
mov qword [rsp + 0x170], rbx
mov rdx, r9
lea rbx, [rcx + 0x10]
mov qword [rcx + 8], rbx
lea rcx, [rsp + 0x20]
call fcn.140002200
mov eax, dword [rsp + 0x20]
lea eax, [rax*4]
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
lea r9, [rax + rcx*4]
mov eax, dword [rax + rcx*4]
mov dword [rbx], eax
mov eax, dword [r9 + 4]
mov dword [rbx + 4], eax
mov eax, dword [r9 + 8]
mov dword [rbx + 8], eax
mov eax, dword [r9 + 0xc]
sub r9, 0x10
mov dword [rbx + 0xc], eax
add rbx, 0x10
mov r10d, dword [rdi]
dec r10d
test r10d, r10d
jle 0x1400021be
lea r11, [0x140000000]
nop dword [rax]
mov r8d, dword [r9]
dec r10d
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
mov eax, r8d
shr rax, 0x18
mov edx, dword [r11 + rcx*4 + 0x4a890]
movzx eax, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b490]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
shr r8d, 8
movzx eax, byte [rcx + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b090]
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rcx*4 + 0x4ac90]
mov dword [rbx], edx
mov r8d, dword [r9 + 4]
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
mov eax, r8d
shr rax, 0x18
mov edx, dword [r11 + rcx*4 + 0x4a890]
movzx eax, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b490]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
shr r8d, 8
movzx eax, byte [rcx + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b090]
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rcx*4 + 0x4ac90]
mov dword [rbx + 4], edx
mov r8d, dword [r9 + 8]
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
mov eax, r8d
shr rax, 0x18
mov edx, dword [r11 + rcx*4 + 0x4a890]
movzx eax, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b490]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
shr r8d, 8
movzx eax, byte [rcx + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b090]
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rcx*4 + 0x4ac90]
mov dword [rbx + 8], edx
mov r8d, dword [r9 + 0xc]
sub r9, 0x10
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
mov eax, r8d
shr rax, 0x18
mov edx, dword [r11 + rcx*4 + 0x4a890]
movzx eax, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b490]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
shr r8d, 8
movzx eax, byte [rcx + r11 + 0x49690]
xor edx, dword [r11 + rax*4 + 0x4b090]
movzx eax, r8b
movzx ecx, byte [rax + r11 + 0x49690]
xor edx, dword [r11 + rcx*4 + 0x4ac90]
mov dword [rbx + 0xc], edx
add rbx, 0x10
test r10d, r10d
jg 0x140002010
mov eax, dword [r9]
mov dword [rbx], eax
mov eax, dword [r9 + 4]
mov dword [rbx + 4], eax
mov eax, dword [r9 + 8]
mov dword [rbx + 8], eax
mov eax, dword [r9 + 0xc]
mov dword [rbx + 0xc], eax
mov rbx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14001df00
add rsp, 0x150
pop rdi
ret