Function at 0x18002c320
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x450
mov rax, qword [0x180093030]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov rbp, rcx
lea rcx, [rsp + 0x41]
xor edx, edx
mov r8d, 0x3ff
call fcn.180030f50
mov rax, qword [rbp + 0xb88]
movabs r11, 0x441043a04420456
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], 3
lea r9, [rbp + 0x20]
movaps xmm0, xmmword [rsp + 0x40]
cmp dword [r9 + 0x144], 0
mov dword [rsp + 0x50], reloc.WS2_32.dll_inet_ntoa
mov qword [rsp + 0x54], rax
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x5c], 1
mov dword [rsp + 0x30], reloc.WS2_32.dll_inet_ntoa
mov r12d, reloc.WS2_32.dll_sendto
lea rsi, [rsp + 0x20]
je 0x18002c60a
xor eax, eax
mov rcx, r9
nop dword [rax + rax]
mov byte [rcx], al
inc eax
inc rcx
cmp eax, 0x100
jl 0x18002c3d0
xor r10d, r10d
mov word [r9 + 0x100], 0
mov r8, r9
xor r11b, r11b
mov eax, r10d
inc r10d
inc r8
cdq
idiv dword [r9 + 0x144]
movsxd rax, edx
movzx ecx, byte [rax + r9 + 0x102]
add cl, byte [r8 - 1]
add r11b, cl
movzx ecx, byte [r8 - 1]
movzx edx, r11b
add rdx, r9
movzx eax, byte [rdx]
mov byte [r8 - 1], al
mov byte [rdx], cl
cmp r10d, 0x100
jl 0x18002c3f1
movzx edx, byte [r9 + 0x100]
xor r10d, r10d
nop
inc dl
movzx r8d, dl
mov byte [r9 + 0x100], r8b
movzx eax, byte [r8 + r9]
add byte [r9 + 0x101], al
movzx ecx, byte [r8 + r9]
movzx edx, byte [r9 + 0x101]
movzx eax, byte [rdx + r9]
mov byte [r8 + r9], al
mov byte [rdx + r9], cl
movzx edx, byte [r9 + 0x100]
movzx ecx, byte [rdx + r9]
movzx eax, byte [r9 + 0x101]
inc dl
add cl, byte [rax + r9]
movzx r8d, dl
movzx eax, cl
movzx ecx, byte [rax + r9]
mov byte [r9 + 0x100], r8b
movzx eax, byte [r8 + r9]
add byte [r9 + 0x101], al
xor byte [rsp + r10 + 0x20], cl
movzx ecx, byte [r8 + r9]
movzx edx, byte [r9 + 0x101]
movzx eax, byte [rdx + r9]
mov byte [r8 + r9], al
mov byte [rdx + r9], cl
movzx edx, byte [r9 + 0x100]
movzx ecx, byte [rdx + r9]
movzx eax, byte [r9 + 0x101]
inc dl
add cl, byte [rax + r9]
movzx r8d, dl
movzx eax, cl
movzx ecx, byte [rax + r9]
mov byte [r9 + 0x100], r8b
movzx eax, byte [r8 + r9]
add byte [r9 + 0x101], al
xor byte [rsp + r10 + 0x21], cl
movzx ecx, byte [r8 + r9]
movzx edx, byte [r9 + 0x101]
movzx eax, byte [rdx + r9]
mov byte [r8 + r9], al
mov byte [rdx + r9], cl
movzx edx, byte [r9 + 0x100]
movzx ecx, byte [rdx + r9]
movzx eax, byte [r9 + 0x101]
inc dl
add cl, byte [rax + r9]
movzx r8d, dl
movzx eax, cl
movzx ecx, byte [rax + r9]
mov byte [r9 + 0x100], r8b
movzx eax, byte [r8 + r9]
add byte [r9 + 0x101], al
movzx edx, byte [r9 + 0x101]
xor byte [rsp + r10 + 0x22], cl
movzx eax, byte [rdx + r9]
movzx ecx, byte [r8 + r9]
mov byte [r8 + r9], al
mov byte [rdx + r9], cl
movzx edx, byte [r9 + 0x100]
movzx ecx, byte [rdx + r9]
movzx eax, byte [r9 + 0x101]
inc dl
add cl, byte [rax + r9]
movzx r8d, dl
movzx eax, cl
movzx ecx, byte [rax + r9]
mov byte [r9 + 0x100], r8b
movzx eax, byte [r8 + r9]
xor byte [rsp + r10 + 0x23], cl
add byte [r9 + 0x101], al
movzx edx, byte [r9 + 0x101]
movzx eax, byte [rdx + r9]
movzx ecx, byte [r8 + r9]
mov byte [r8 + r9], al
mov byte [rdx + r9], cl
movzx edx, byte [r9 + 0x100]
movzx ecx, byte [rdx + r9]
movzx eax, byte [r9 + 0x101]
add cl, byte [rax + r9]
add r10, 5
movzx eax, cl
movzx ecx, byte [rax + r9]
xor byte [rsp + r10 + 0x1f], cl
cmp r10, r12
jl 0x18002c440
or r14d, 0xffffffff
lea r13d, [r14 + 7]
mov edi, 0x8000
xor ebx, ebx
cmp r12d, edi
cmovl edi, r12d
mov rcx, qword [rbp]
test rcx, rcx
je 0x18002c648
test rsi, rsi
je 0x18002c648
test edi, edi
js 0x18002c648
mov r8d, edi
mov rdx, rsi
call fcn.180023020
mov r11d, eax
test eax, eax
cmovs r11d, r14d
jmp 0x18002c64e
mov r11d, 0xffffff53
mov rax, qword [rbp]
test r11d, r11d
jle 0x18002c65b
xor eax, eax
jmp 0x18002c692
test rax, rax
jne 0x18002c667
mov eax, 0xffffff53
jmp 0x18002c692
mov eax, dword [rax + 0x258]
cmp eax, 0xfffffebd
jne 0x18002c67b
mov eax, 2
jmp 0x18002c692
cmp eax, 0xfffffeb9
jne 0x18002c689
mov eax, 3
jmp 0x18002c692
cmp eax, 0xfffffea9
cmove eax, r13d
test r11d, r11d
jg 0x18002c6b2
cmp eax, 2
je 0x18002c6a5
cmp eax, 3
jne 0x18002c739
inc ebx
cmp ebx, 5
jl 0x18002c620
jmp 0x18002c6bb
movsxd rax, r11d
sub r12d, r11d
add rsi, rax
cmp ebx, 5
je 0x18002c739
test r12d, r12d
jg 0x18002c612
lea rdx, [rsp + 0x54]
mov r8d, reloc.WS2_32.dll_inet_ntoa
mov rcx, rbp
call fcn.180002c80
test eax, eax
jne 0x18002c739
mov r9d, reloc.WS2_32.dll_sendto
lea rdx, [rsp + 0x40]
mov rcx, rbp
mov r8d, r9d
call fcn.180002a60
test eax, eax
jne 0x18002c739
movsxd rbx, dword [rsp + 0x50]
test ebx, ebx
je 0x18002c739
mov rcx, rbx
call fcn.18002d468
mov rdi, rax
test rax, rax
je 0x18002c739
test ebx, ebx
js 0x18002c731
mov r9d, ebx
mov r8d, ebx
mov rdx, rax
mov rcx, rbp
call fcn.180002a60
test eax, eax
jne 0x18002c731
mov rax, rdi
jmp 0x18002c73b
mov rcx, rdi
call fcn.18002d284
xor eax, eax
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.18002cf50
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret