Function at 0x14000f730
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
sub rsp, 0x20
mov ebp, r8d
mov r12, rcx
cmp r8d, 0x10
ja 0x14000f75b
mov ebp, reloc.WS2_32.dll_recv
jmp 0x14000f773
cmp r8d, 0x20
jb 0x14000f768
mov ebp, 0x20
jmp 0x14000f773
mov eax, 0x18
cmp r8d, eax
cmovne ebp, eax
lea r13, [rcx + 0x4c]
mov edi, ebp
mov r8d, ebp
shr edi, 2
mov rsi, r13
mov ebx, ebp
lea eax, [rdi + 6]
mov dword [rcx + 0x48], eax
mov rcx, r13
call fcn.140061b50
lea r8d, [rdi*4]
lea rcx, [rbx + r13]
sub r8d, ebp
xor edx, edx
call fcn.140062880
lea r11d, [rbp + 3]
mov eax, r11d
and eax, 3
sub r11d, eax
shr r11d, 2
test r11d, r11d
je 0x14000f7e7
mov rdx, r13
mov r8d, r11d
mov eax, dword [rdx]
add rdx, 4
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
dec r8
mov dword [rdx - 4], ecx
jne 0x14000f7c4
cmp ebp, 0x10
je 0x14000face
cmp ebp, 0x18
je 0x14000f993
cmp ebp, 0x20
jne 0x14000fbee
mov rdx, qword [str.ccccwwww]
mov r8d, dword [r13 + 0x1c]
lea r10, [r13 + 0x20]
mov eax, r8d
lea r11, [0x1400bf71c]
lea ebx, [rbp - 0x1a]
shr eax, 0x18
movzx ecx, al
mov eax, r8d
movzx r9d, byte [rdx + rcx*4]
shr eax, 8
movzx eax, al
mov ecx, dword [rdx + rax*4]
mov eax, r8d
and ecx, 0xff0000
shr eax, 0x10
xor r9d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r8b
and ecx, 0xff000000
xor r9d, ecx
mov ecx, dword [rdx + rax*4]
mov eax, dword [r13 + 4]
and ecx, 0xff00
xor r9d, ecx
mov ecx, dword [r13 + 8]
xor r9d, dword [r13]
xor r9d, dword [0x1400bf718]
xor eax, r9d
mov dword [r10], r9d
xor ecx, eax
mov dword [r13 + 0x24], eax
mov eax, dword [r13 + 0xc]
xor eax, ecx
mov dword [r13 + 0x28], ecx
mov dword [r13 + 0x2c], eax
mov rdx, qword [str.ccccwwww]
mov r8d, dword [rsi + 0x2c]
add r11, 4
mov eax, r8d
shr eax, 0x10
movzx ecx, al
mov eax, r8d
mov r9d, dword [rdx + rcx*4]
shr eax, 0x18
movzx eax, al
and r9d, 0xff0000
mov ecx, dword [rdx + rax*4]
mov eax, r8d
shr eax, 8
and ecx, 0xff000000
xor r9d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r8b
and ecx, 0xff00
xor r9d, ecx
movzx ecx, byte [rdx + rax*4]
mov eax, dword [rsi + 0x14]
xor r9d, ecx
mov ecx, dword [rsi + 0x18]
xor r9d, dword [rsi + 0x10]
xor eax, r9d
mov dword [rsi + 0x30], r9d
mov dword [rsi + 0x34], eax
xor ecx, eax
mov dword [rsi + 0x38], ecx
xor ecx, dword [rsi + 0x1c]
mov dword [rsi + 0x3c], ecx
mov r8d, dword [r10 + 0x1c]
mov rdx, qword [str.ccccwwww]
mov rsi, r10
mov eax, r8d
add r10, 0x20
shr eax, 0x18
movzx ecx, al
mov eax, r8d
movzx r9d, byte [rdx + rcx*4]
shr eax, 8
movzx eax, al
mov ecx, dword [rdx + rax*4]
mov eax, r8d
and ecx, 0xff0000
shr eax, 0x10
xor r9d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r8b
and ecx, 0xff000000
xor r9d, ecx
mov ecx, dword [rdx + rax*4]
and ecx, 0xff00
xor r9d, ecx
xor r9d, dword [r10 - 0x20]
xor r9d, dword [r11 - 4]
mov dword [r10], r9d
mov eax, dword [rsi + 4]
xor eax, r9d
mov dword [rsi + 0x24], eax
mov ecx, dword [rsi + 8]
xor ecx, eax
mov dword [rsi + 0x28], ecx
mov eax, dword [rsi + 0xc]
xor eax, ecx
dec rbx
mov dword [rsi + 0x2c], eax
jne 0x14000f890
jmp 0x14000fbee
mov rdx, qword [str.ccccwwww]
mov r8d, dword [r13 + 0x14]
lea r11, [0x1400bf71c]
mov eax, r8d
mov r10d, 7
shr eax, 0x18
movzx ecx, al
mov eax, r8d
movzx r9d, byte [rdx + rcx*4]
shr eax, 8
movzx eax, al
mov ecx, dword [rdx + rax*4]
mov eax, r8d
and ecx, 0xff0000
shr eax, 0x10
xor r9d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r8b
and ecx, 0xff000000
xor r9d, ecx
mov ecx, dword [rdx + rax*4]
mov eax, dword [r13 + 4]
and ecx, 0xff00
lea rdx, [r13 + 0x18]
xor r9d, ecx
mov ecx, dword [r13 + 8]
xor r9d, dword [r13]
xor r9d, dword [0x1400bf718]
xor eax, r9d
mov dword [rdx], r9d
xor ecx, eax
mov dword [r13 + 0x1c], eax
mov eax, dword [r13 + 0xc]
xor eax, ecx
mov dword [r13 + 0x20], ecx
mov dword [r13 + 0x24], eax
nop word [rax + rax]
mov eax, dword [rsi + 0x10]
add r11, 4
xor eax, dword [rsi + 0x24]
mov dword [rsi + 0x28], eax
xor eax, dword [rsi + 0x14]
mov dword [rsi + 0x2c], eax
mov r8d, dword [rdx + 0x14]
mov rsi, rdx
mov rdx, qword [str.ccccwwww]
mov eax, r8d
shr eax, 0x18
movzx ecx, al
mov eax, r8d
movzx r9d, byte [rdx + rcx*4]
shr eax, 8
movzx eax, al
mov ecx, dword [rdx + rax*4]
mov eax, r8d
and ecx, 0xff0000
shr eax, 0x10
xor r9d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r8b
and ecx, 0xff000000
xor r9d, ecx
mov ecx, dword [rdx + rax*4]
lea rdx, [rsi + 0x18]
and ecx, 0xff00
xor r9d, ecx
xor r9d, dword [rsi]
xor r9d, dword [r11 - 4]
mov dword [rdx], r9d
mov eax, dword [rsi + 4]
xor eax, r9d
mov dword [rsi + 0x1c], eax
mov ecx, dword [rsi + 8]
xor ecx, eax
mov dword [rsi + 0x20], ecx
mov eax, dword [rsi + 0xc]
xor eax, ecx
dec r10
mov dword [rsi + 0x24], eax
jne 0x14000fa30
jmp 0x14000fbee
mov rdx, qword [str.ccccwwww]
mov r9d, dword [r13 + 0xc]
lea r11, [0x1400bf71c]
mov eax, r9d
mov ebx, 9
shr eax, 0x18
movzx ecx, al
mov eax, r9d
movzx r8d, byte [rdx + rcx*4]
shr eax, 8
movzx eax, al
mov ecx, dword [rdx + rax*4]
mov eax, r9d
and ecx, 0xff0000
shr eax, 0x10
xor r8d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r9b
and ecx, 0xff000000
xor r8d, ecx
mov ecx, dword [rdx + rax*4]
mov eax, dword [r13 + 4]
and ecx, 0xff00
lea rdx, [r13 + 0x10]
xor r8d, ecx
mov ecx, dword [r13 + 8]
xor r8d, dword [r13]
xor r8d, dword [0x1400bf718]
xor eax, r8d
mov dword [rdx], r8d
xor ecx, eax
mov dword [r13 + 0x14], eax
mov dword [r13 + 0x18], ecx
xor ecx, r9d
mov dword [r13 + 0x1c], ecx
nop dword [rax + rax]
mov r8d, dword [rdx + 0xc]
mov r10, rdx
mov rdx, qword [str.ccccwwww]
mov eax, r8d
add r11, 4
shr eax, 0x18
movzx ecx, al
mov eax, r8d
movzx r9d, byte [rdx + rcx*4]
shr eax, 8
movzx eax, al
mov ecx, dword [rdx + rax*4]
mov eax, r8d
and ecx, 0xff0000
shr eax, 0x10
xor r9d, ecx
movzx eax, al
mov ecx, dword [rdx + rax*4]
movzx eax, r8b
and ecx, 0xff000000
xor r9d, ecx
mov ecx, dword [rdx + rax*4]
lea rdx, [r10 + 0x10]
and ecx, 0xff00
xor r9d, ecx
xor r9d, dword [r10]
xor r9d, dword [r11 - 4]
mov dword [rdx], r9d
mov eax, dword [r10 + 4]
xor eax, r9d
mov dword [r10 + 0x14], eax
mov ecx, dword [r10 + 8]
xor ecx, eax
mov dword [r10 + 0x18], ecx
xor ecx, dword [r10 + 0xc]
dec rbx
mov dword [r10 + 0x1c], ecx
jne 0x14000fb60
cmp dword [r12 + 0x40], 1
jne 0x14000fe51
mov r9d, dword [r12 + 0x48]
xor r10d, r10d
shl r9d, 2
movsxd rax, r9d
test r9d, r9d
je 0x14000fc69
lea rdx, [r13 + rax*4 + 8]
lea r8, [r13 + 8]
nop word [rax + rax]
mov eax, dword [rdx - 8]
mov ecx, dword [r8 - 8]
add r10d, 4
mov dword [r8 - 8], eax
mov eax, dword [rdx - 4]
mov dword [rdx - 8], ecx
mov ecx, dword [r8 - 4]
mov dword [r8 - 4], eax
mov eax, dword [rdx]
mov dword [rdx - 4], ecx
mov ecx, dword [r8]
mov dword [r8], eax
mov eax, dword [rdx + 4]
mov dword [rdx], ecx
mov ecx, dword [r8 + 4]
mov dword [r8 + 4], eax
add r9d, 0xfffffffc
mov dword [rdx + 4], ecx
sub rdx, 0x10
add r8, 0x10
cmp r10d, r9d
jb 0x14000fc20
mov ebx, 1
cmp dword [r12 + 0x48], ebx
jbe 0x14000fe51
nop dword [rax]
mov r11, qword [str.ccccwwww]
mov r10d, dword [r13 + 0x10]
add r13, 0x10
mov eax, r10d
shr eax, 8
movzx ecx, al
mov eax, r10d
shr r10d, 0x18
movzx r8d, byte [r11 + rcx*4]
shr eax, 0x10
movzx eax, al
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f8]
mov edx, dword [rax + rcx*4]
mov rax, qword [0x140112700]
mov r9d, dword [rax + r8*4]
movzx eax, r10b
mov r10d, dword [r13 + 4]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f0]
xor r9d, edx
xor r9d, dword [rax + rcx*4]
movzx eax, byte [r13]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x140112708]
xor r9d, dword [rax + rcx*4]
mov eax, r10d
mov dword [r13], r9d
mov r11, qword [str.ccccwwww]
shr eax, 8
movzx ecx, al
mov eax, r10d
shr r10d, 0x18
movzx r8d, byte [r11 + rcx*4]
shr eax, 0x10
movzx eax, al
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f8]
mov edx, dword [rax + rcx*4]
mov rax, qword [0x140112700]
mov r9d, dword [rax + r8*4]
movzx eax, r10b
mov r10d, dword [r13 + 8]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f0]
xor r9d, edx
xor r9d, dword [rax + rcx*4]
movzx eax, byte [r13 + 4]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x140112708]
xor r9d, dword [rax + rcx*4]
mov eax, r10d
mov dword [r13 + 4], r9d
mov r11, qword [str.ccccwwww]
shr eax, 8
movzx ecx, al
mov eax, r10d
shr r10d, 0x18
movzx r8d, byte [r11 + rcx*4]
shr eax, 0x10
movzx eax, al
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f8]
mov edx, dword [rax + rcx*4]
mov rax, qword [0x140112700]
mov r9d, dword [rax + r8*4]
movzx eax, r10b
mov r10d, dword [r13 + 0xc]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f0]
xor r9d, edx
xor r9d, dword [rax + rcx*4]
movzx eax, byte [r13 + 8]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x140112708]
xor r9d, dword [rax + rcx*4]
mov eax, r10d
shr eax, 8
mov dword [r13 + 8], r9d
mov r11, qword [str.ccccwwww]
movzx ecx, al
movzx r8d, byte [r11 + rcx*4]
mov eax, r10d
shr r10d, 0x18
shr eax, 0x10
inc ebx
movzx eax, al
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f8]
mov edx, dword [rax + rcx*4]
mov rax, qword [0x140112700]
mov r9d, dword [rax + r8*4]
movzx eax, r10b
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x1401126f0]
xor r9d, edx
xor r9d, dword [rax + rcx*4]
movzx eax, byte [r13 + 0xc]
movzx ecx, byte [r11 + rax*4]
mov rax, qword [0x140112708]
xor r9d, dword [rax + rcx*4]
mov dword [r13 + 0xc], r9d
cmp ebx, dword [r12 + 0x48]
jb 0x14000fc80
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop r12
pop rdi
ret