Function at 0x1400c9fd0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x18
mov qword [rdx], r8
mov r11, rdx
mov qword [rsp + 0x20], rbx
mov r10, rcx
mov qword [rdx + 8], r9
mov qword [rsp + 0x28], rbp
xor ebp, ebp
mov dword [rdx + 0x14], ebp
mov eax, dword [rcx + 0x5f88]
dec eax
mov qword [rsp + 0x30], rsi
mov dword [rdx + 0x18], eax
mov rsi, r8
mov eax, dword [r9]
lea r8d, [rbp + 1]
mov dword [rdx + 0x1c], eax
mov qword [rsp + 0x10], rdi
mov edi, dword [rsp + 0x48]
mov dword [rdx + 0x20], edi
mov eax, dword [rcx + 0xa8]
mov dword [rdx + 0x24], eax
mov eax, dword [rsp + 0x40]
mov dword [rdx + 0x30], eax
mov qword [rdx + 0x28], rbp
mov qword [rdx + 0x34], rbp
mov qword [rdx + 0x3c], rbp
mov dword [rdx + 0x44], ebp
mov ebx, dword [rcx + 0x234]
mov qword [rsp], r15
mov r15, r9
cmp ebx, 3
jne 0x1400ca064
cmp dword [rcx + 0x74], ebp
je 0x1400ca064
cmp dword [rcx + 0x2dc], ebp
jne 0x1400ca05f
cmp dword [rcx + 0x2e8], ebp
jne 0x1400ca064
mov r9d, r8d
jmp 0x1400ca067
mov r9d, ebp
mov dword [rcx + 0x967c], r9d
cmp dword [rcx + 0x9678], ebp
jne 0x1400ca0ca
cmp dword [rdx + 0x10], r8d
jne 0x1400ca0ca
mov rdx, qword [rcx + 0x5240]
mov rax, qword [rcx + 0x51a8]
mov ecx, dword [rax + 8]
cmp dword [rdx + 0x98], ecx
jne 0x1400ca0bf
mov ecx, ebp
test r9d, r9d
je 0x1400ca0b3
mov eax, dword [r10 + 0xa708]
cmp dword [r10 + 0xa70c], eax
setg cl
mov dword [r11 + 0x48], ecx
jmp 0x1400ca0ca
cmp ebx, r8d
sete cl
mov dword [r11 + 0x48], ecx
jmp 0x1400ca0ca
mov dword [r10 + 0x967c], ebp
mov dword [r11 + 0x48], r8d
mov dword [r11 + 0x4c], ebp
mov dword [r11 + 0x50], r8d
mov dword [r11 + 0x54], r8d
mov eax, dword [r10 + 0x52e8]
mov dword [r11 + 0x58], eax
mov ecx, dword [r10 + 0x52ec]
mov dword [r11 + 0x5c], ecx
mov qword [rsp + 8], r14
test eax, eax
je 0x1400ca15c
mov edx, edi
mov ebx, ebp
cmp dword [r10 + 0x51a0], ebp
jle 0x1400ca15c
mov r14, r11
lea r9, [r10 + 0x51a8]
sub r14, r10
nop
mov rax, qword [r9]
lea r9, [r9 + 8]
mov ecx, ebp
mov eax, dword [rax + 0x78]
sub eax, edx
test eax, eax
cdq
setg cl
xor eax, edx
sub eax, edx
mov dword [r14 + r9 - 0x5150], ecx
mov ecx, dword [rsi + 0x1c]
dec eax
mov edx, r8d
inc ebx
shl edx, cl
dec edx
and eax, edx
mov dword [r14 + r9 - 0x514c], eax
mov rax, qword [r9 - 8]
mov edx, dword [rax + 0x78]
cmp ebx, dword [r10 + 0x51a0]
jl 0x1400ca110
mov ecx, dword [r11 + 0x5c]
test ecx, ecx
je 0x1400ca1c8
mov ebx, ebp
cmp dword [r10 + 0x51a4], ebp
jle 0x1400ca1c8
mov r14, r11
lea r9, [r10 + 0x5240]
sub r14, r10
nop dword [rax + rax]
mov rax, qword [r9]
lea r9, [r9 + 8]
mov ecx, ebp
mov eax, dword [rax + 0x78]
sub eax, edi
test eax, eax
cdq
setg cl
xor eax, edx
sub eax, edx
mov dword [r14 + r9 - 0x5168], ecx
mov ecx, dword [rsi + 0x1c]
dec eax
mov edx, r8d
inc ebx
shl edx, cl
dec edx
and eax, edx
mov dword [r14 + r9 - 0x5164], eax
mov rax, qword [r9 - 8]
mov edi, dword [rax + 0x78]
cmp ebx, dword [r10 + 0x51a4]
jl 0x1400ca180
mov eax, dword [r10 + 0xa4]
mov ecx, dword [rsp + 0x50]
mov r14, qword [rsp + 8]
mov rdi, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x20]
mov dword [r11 + 0x19f8], eax
mov eax, gethostbyname
cmp ecx, eax
cmovl eax, ecx
mov dword [r11 + 0x19fc], eax
sub eax, dword [r15 + 0x24]
mov r15, qword [rsp]
mov qword [r11 + 0x1a04], rbp
mov rbp, qword [rsp + 0x28]
mov dword [r11 + 0x1a00], eax
cmp dword [r10 + 0x94], 0
mov edx, dword [r10 + 0x9c]
mov eax, dword [r10 + 0x98]
je 0x1400ca256
cmp dword [r10 + 0x9670], 0
jne 0x1400ca249
cmp eax, edx
cmovge eax, edx
lea eax, [rcx + rax*2]
cmp eax, 0xf
jle 0x1400ca256
mov eax, dword [r10 + 0xc]
neg eax
sbb r8d, r8d
and r8d, 2
mov dword [r11 + 0x1a0c], r8d
mov eax, dword [r10 + 0x98]
add eax, eax
mov dword [r11 + 0x1a10], eax
mov eax, dword [r10 + 0x9c]
add eax, eax
mov dword [r11 + 0x1a14], eax
add rsp, 0x18
ret