Function at 0x140bf4c50
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x30
mov eax, r8d
mov esi, r8d
mov rdi, rdx
mov r14, rcx
sub eax, 0x80
je 0x140bf4c94
sub eax, 0x40
je 0x140bf4c8c
cmp eax, 0x40
je 0x140bf4c84
mov eax, 0xffffffe0
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
mov dword [rcx], ntohs
jmp 0x140bf4c9a
mov dword [rcx], reloc.WS2_32.dll_inet_ntoa
jmp 0x140bf4c9a
mov dword [rcx], 0xa
cmp dword [0x140dbf898], 0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x20], r15
jne 0x140bf4cbc
call fcn.140bf3780
mov dword [0x140dbf898], 1
mov ecx, 0x2000000
call fcn.140bfaec0
xor ebx, ebx
test eax, eax
je 0x140bf4ce1
mov rax, r14
shr rax, 2
and eax, 3
je 0x140bf4ce1
mov ecx, 4
sub ecx, eax
jmp 0x140bf4ce3
mov ecx, ebx
mov eax, ecx
mov ecx, 0x2000000
add rax, 4
lea r15, [r14 + rax*4]
mov qword [r14 + 8], r15
call fcn.140bfaec0
test eax, eax
je 0x140bf4d13
mov rcx, qword [r14 + 8]
mov r8, rsi
mov rdx, rdi
call fcn.140bfaf70
jmp 0x140bf5303
shr esi, 5
test esi, esi
je 0x140bf4d64
mov r9, r15
nop dword [rax]
lea edx, [rbx*4]
inc ebx
movzx ecx, byte [rdx + rdi]
lea eax, [rdx + 3]
movzx r8d, byte [rax + rdi]
lea r9, [r9 + 4]
shl r8d, 8
lea eax, [rdx + 2]
movzx eax, byte [rax + rdi]
or r8d, eax
lea eax, [rdx + 1]
shl r8d, 8
movzx eax, byte [rax + rdi]
or r8d, eax
shl r8d, 8
or r8d, ecx
mov dword [r9 - 4], r8d
cmp ebx, esi
jb 0x140bf4d20
mov eax, dword [r14]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x28], r13
cmp eax, 0xa
je 0x140bf50bd
cmp eax, 0xc
je 0x140bf4e8d
cmp eax, 0xe
jne 0x140bf52f7
movzx eax, byte [r15 + 0x1e]
lea r9, [r15 + 0x1e]
mov r10d, dword [r15]
lea r11, [0x140dbf870]
mov ebx, 7
lea r14, [0x140dbd670]
nop dword [rax + rax]
movzx ecx, byte [r9 + 1]
lea r11, [r11 + 4]
lea r9, [r9 + 0x20]
movzx r8d, byte [rcx + r14]
movzx ecx, byte [r9 - 0x22]
movzx edx, byte [rcx + r14]
movzx ecx, al
shl edx, 8
xor r8d, edx
shl r8d, 8
movzx eax, byte [rcx + r14]
xor r8d, eax
movzx eax, byte [r9 - 0x21]
shl r8d, 8
movzx ecx, byte [rax + r14]
xor r8d, ecx
xor r8d, dword [r11 - 4]
xor r8d, r10d
mov eax, r8d
mov dword [r9 - 0x1e], r8d
xor eax, dword [r9 - 0x3a]
mov r10d, r8d
mov dword [r9 - 0x1a], eax
xor eax, dword [r9 - 0x36]
mov dword [r9 - 0x16], eax
xor eax, dword [r9 - 0x32]
mov r8d, eax
shr rax, 0x18
mov ecx, r8d
shr ecx, 0x10
movzx edx, cl
mov dword [r9 - 0x12], r8d
movzx eax, byte [rax + r14]
shl eax, 8
movzx ecx, byte [rdx + r14]
xor eax, ecx
mov ecx, r8d
shl eax, 8
shr ecx, 8
movzx edx, cl
movzx ecx, byte [rdx + r14]
xor eax, ecx
movzx ecx, r8b
shl eax, 8
movzx edx, byte [rcx + r14]
xor eax, edx
xor eax, dword [r9 - 0x2e]
mov dword [r9 - 0xe], eax
xor eax, dword [r9 - 0x2a]
mov dword [r9 - 0xa], eax
xor eax, dword [r9 - 0x26]
mov dword [r9 - 6], eax
xor eax, dword [r9 - 0x22]
mov dword [r9 - 2], eax
shr eax, 0x10
sub rbx, 1
jne 0x140bf4db0
jmp 0x140bf52f7
mov r8d, dword [r15]
lea r12, [0x140dbf878]
movzx r10d, byte [r15 + 0x16]
lea r14, [0x140dbd670]
add r15, 0x16
mov qword [rsp + 0x58], rbp
mov r13d, 2
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r15 + 1]
movzx ebx, byte [rax + r14]
movzx eax, byte [r15 - 2]
movzx ecx, byte [rax + r14]
shl ecx, 8
xor ebx, ecx
movzx eax, r10b
shl ebx, 8
movzx ecx, byte [rax + r14]
movzx eax, byte [r15 - 1]
xor ebx, ecx
shl ebx, 8
movzx ecx, byte [rax + r14]
xor ebx, ecx
xor ebx, dword [r12 - 8]
xor ebx, r8d
mov r8d, ebx
mov dword [r15 + 2], ebx
xor r8d, dword [r15 - 0x12]
mov r9d, r8d
mov dword [r15 + 6], r8d
xor r9d, dword [r15 - 0xe]
mov r10d, r9d
mov dword [r15 + 0xa], r9d
xor r10d, dword [r15 - 0xa]
mov r11d, r10d
mov dword [r15 + 0xe], r10d
xor r11d, dword [r15 - 6]
mov eax, r11d
mov dword [r15 + 0x12], r11d
xor eax, dword [r15 - 2]
mov edx, eax
shr rax, 0x18
mov dword [r15 + 0x16], edx
movzx esi, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor esi, ecx
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + r14]
xor esi, eax
xor esi, dword [r12 - 4]
xor esi, ebx
mov ebx, esi
mov dword [r15 + 0x1a], esi
xor ebx, r8d
mov edi, ebx
mov dword [r15 + 0x1e], ebx
xor edi, r9d
mov r9d, edi
mov dword [r15 + 0x22], edi
xor r9d, r10d
mov r10d, r9d
mov dword [r15 + 0x26], r9d
xor r10d, r11d
xor edx, r10d
mov dword [r15 + 0x2a], r10d
mov eax, edx
shr rax, 0x18
mov r8d, edx
mov dword [r15 + 0x2e], r8d
movzx ebp, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shl ecx, 8
xor ebp, ecx
shl ebp, 8
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebp, eax
lea r15, [r15 + 0x60]
mov eax, edx
shl ebp, 8
shr eax, 8
lea r12, [r12 + 0x10]
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebp, eax
xor ebp, esi
xor ebp, dword [r12 - 0x10]
mov edx, ebp
mov dword [r15 - 0x2e], ebp
xor edx, ebx
mov r11d, edx
mov dword [r15 - 0x2a], edx
xor r11d, edi
mov ebx, r11d
mov dword [r15 - 0x26], r11d
xor ebx, r9d
mov r9d, ebx
mov dword [r15 - 0x22], ebx
xor r9d, r10d
xor r8d, r9d
mov dword [r15 - 0x1e], r9d
mov r10d, r8d
mov eax, r8d
shr rax, 0x18
mov dword [r15 - 0x1a], r10d
movzx r8d, byte [rax + r14]
movzx eax, r10b
movzx ecx, byte [rax + r14]
mov eax, r10d
shr eax, 0x10
shl ecx, 8
xor r8d, ecx
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r14]
xor r8d, eax
mov eax, r10d
shr eax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r14]
xor r8d, eax
xor r8d, dword [r12 - 0xc]
xor r8d, ebp
mov eax, r8d
mov dword [r15 - 0x16], r8d
xor eax, edx
mov dword [r15 - 0x12], eax
xor eax, r11d
mov dword [r15 - 0xe], eax
xor eax, ebx
mov dword [r15 - 0xa], eax
xor eax, r9d
xor r10d, eax
mov dword [r15 - 6], eax
mov dword [r15 - 2], r10d
shr r10d, 0x10
sub r13, 1
jne 0x140bf4ec0
mov rbp, qword [rsp + 0x58]
jmp 0x140bf52f7
mov ebx, dword [r15]
lea r12, [0x140dbf878]
movzx r11d, byte [r15 + 0xe]
lea r14, [0x140dbd670]
add r15, 0xe
mov r13d, 2
nop dword [rax]
movzx eax, byte [r15 + 1]
movzx r10d, byte [rax + r14]
movzx eax, byte [r15 - 2]
movzx ecx, byte [rax + r14]
shl ecx, 8
xor r10d, ecx
movzx eax, r11b
shl r10d, 8
movzx ecx, byte [rax + r14]
movzx eax, byte [r15 - 1]
xor r10d, ecx
shl r10d, 8
movzx ecx, byte [rax + r14]
xor r10d, ecx
xor r10d, dword [r12 - 8]
xor r10d, ebx
mov r8d, r10d
mov dword [r15 + 2], r10d
xor r8d, dword [r15 - 0xa]
mov r9d, r8d
mov dword [r15 + 6], r8d
xor r9d, dword [r15 - 6]
mov eax, r9d
mov dword [r15 + 0xa], r9d
xor eax, dword [r15 - 2]
mov edx, eax
shr rax, 0x18
mov dword [r15 + 0xe], edx
movzx r11d, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor r11d, ecx
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r14]
xor r11d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r14]
xor r11d, eax
xor r11d, dword [r12 - 4]
xor r11d, r10d
mov r10d, r11d
mov dword [r15 + 0x12], r11d
xor r10d, r8d
mov r8d, r10d
mov dword [r15 + 0x16], r10d
xor r8d, r9d
mov eax, r8d
mov dword [r15 + 0x1a], r8d
xor eax, edx
mov edx, eax
shr rax, 0x18
mov dword [r15 + 0x1e], edx
movzx ebx, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor ebx, ecx
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r14]
xor ebx, eax
mov eax, edx
shl ebx, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebx, eax
xor ebx, r11d
xor ebx, dword [r12]
mov r9d, ebx
mov dword [r15 + 0x22], ebx
xor r9d, r10d
mov r10d, r9d
mov dword [r15 + 0x26], r9d
xor r10d, r8d
lea r12, [r12 + 0x14]
mov dword [r15 + 0x2a], r10d
lea r15, [r15 + 0x50]
mov eax, r10d
xor eax, edx
mov edx, eax
shr rax, 0x18
mov dword [r15 - 0x22], edx
movzx r11d, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor r11d, ecx
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r14]
xor r11d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r14]
xor r11d, eax
xor r11d, dword [r12 - 0x10]
xor r11d, ebx
mov r8d, r11d
mov dword [r15 - 0x1e], r11d
xor r8d, r9d
mov r9d, r8d
mov dword [r15 - 0x1a], r8d
xor r9d, r10d
mov eax, r9d
mov dword [r15 - 0x16], r9d
xor eax, edx
mov edx, eax
shr rax, 0x18
mov dword [r15 - 0x12], edx
movzx ebx, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor ebx, ecx
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r14]
xor ebx, eax
mov eax, edx
shl ebx, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r14]
xor ebx, eax
xor ebx, dword [r12 - 0xc]
xor ebx, r11d
mov r11d, ebx
mov dword [r15 - 0xe], ebx
xor r11d, r8d
mov dword [r15 - 0xa], r11d
xor r11d, r9d
mov dword [r15 - 6], r11d
xor r11d, edx
mov dword [r15 - 2], r11d
shr r11d, 0x10
sub r13, 1
jne 0x140bf50e0
mov r13, qword [rsp + 0x28]
xor eax, eax
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x20]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret