Function at 0x140021fa0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x2d8
call fcn.1400035e0
sub rsp, rax
mov rax, qword [0x1401ad1c0]
mov qword [rsp + 0x298], rax
mov qword [rsp + 0x2f8], rbx
mov qword [rsp + 0x2d0], rbp
mov qword [rsp + 0x2c8], rsi
mov qword [rsp + 0x2c0], rdi
mov qword [rsp + 0x2b8], r12
mov qword [rsp + 0x2b0], r13
mov r13, rcx
mov qword [rsp + 0x2a8], r14
mov qword [rsp + 0x2a0], r15
mov r15d, r8d
lea rcx, [rsp + 0x30]
mov rbp, rdx
add r15d, 0xfffffff0
mov esi, r15d
mov edi, r15d
and esi, 0xf
shr edi, 4
call fcn.14003cf40
lea r12, [rbp + 0x10]
lea rcx, [rsp + 0x30]
mov r8d, r15d
mov rdx, r12
call fcn.14003f460
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x230]
call fcn.14003f5f0
lea rcx, [rsp + 0x220]
mov r8d, reloc.WSOCK32.dll_recv
mov rdx, rbp
call fcn.140029a50
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x288]
mov r8d, reloc.WSOCK32.dll_recv
call fcn.140029a50
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x248]
mov r8d, reloc.WSOCK32.dll_recv
call fcn.140029a50
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x258]
mov r8d, reloc.WSOCK32.dll_recv
call fcn.140029a50
lea r11, [rsp + 0x248]
lea r14, [rsp + 0x248]
shr r14, 0x20
mov rdx, r13
mov ecx, 1
mov word [r13 + 0x18], reloc.mfc110.dll_Ordinal_319
mov dword [r13 + 0x12], r11d
mov word [r13 + 0x16], 4
mov dword [r13 + 0x5c], r14d
mov byte [r13 + 0x55], 1
mov word [r13 + 0x3e], 0
call fcn.140028870
lea rcx, str.______classic_aes_encrypt_hw:_LowAPI_status__u_n
mov byte [r13 + 0x55], 0
movzx ebx, ax
mov word [r13 + 0x16], 0
mov edx, ebx
call fcn.140028f30
movzx ecx, bx
call fcn.1400290c0
test eax, eax
jne 0x14002261d
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x248]
lea rcx, [rsp + 0x278]
call fcn.140029a50
lea r9, [rsp + 0x248]
lea rcx, [rsp + 0xb0]
xor edx, edx
mov r8d, 0x80
call fcn.14003bff0
test eax, eax
jns 0x14002216e
lea rcx, [0x1401c0788]
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
lea rcx, [rsp + 0x90]
xor r8d, r8d
mov dl, 2
call fcn.14003c140
test eax, eax
jns 0x14002219c
lea rcx, [0x1401c07c0]
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
test edi, edi
je 0x1400221e0
mov r9d, edi
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x90]
mov r8, r12
shl r9d, 7
mov qword [rsp + 0x20], r12
call fcn.14003c190
test eax, eax
jns 0x1400221e0
lea rcx, [0x1401c07f8]
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
test esi, esi
je 0x1400222a2
lea eax, [rdi - 1]
lea rcx, [rsp + 0x200]
mov r8d, reloc.WSOCK32.dll_recv
shl eax, 4
lea rbx, [rax + rbp + 0x10]
mov rdx, rbx
call fcn.140029a50
test esi, esi
je 0x140022231
lea rcx, [rsp + 0x200]
lea rdx, [rbx + 0x10]
mov r8d, esi
nop
movzx eax, byte [rdx]
inc rcx
inc rdx
xor byte [rcx - 1], al
dec r8
jne 0x140022220
lea rax, [rsp + 0x200]
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x90]
mov r9d, 0x80
mov qword [rsp + 0x20], rax
call fcn.14003c190
test eax, eax
jns 0x14002227d
lea rcx, [0x1401c0830]
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
lea rcx, [rbx + 0x10]
mov r8d, esi
mov rdx, rbx
call fcn.140029a50
lea rdx, [rsp + 0x200]
mov r8d, reloc.WSOCK32.dll_recv
mov rcx, rbx
call fcn.140029a50
lea rcx, [rsp + 0x30]
call fcn.14003cf40
lea rcx, [rsp + 0x30]
mov r8d, r15d
mov rdx, r12
call fcn.14003f460
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x230]
call fcn.14003f5f0
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x248]
mov r8d, reloc.WSOCK32.dll_recv
call fcn.140029a50
lea rdx, [rsp + 0x288]
lea rcx, [rsp + 0x258]
mov r8d, reloc.WSOCK32.dll_recv
call fcn.140029a50
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x268]
mov r8d, reloc.WSOCK32.dll_recv
call fcn.140029a50
lea r11, [rsp + 0x248]
mov rdx, r13
mov ecx, 1
mov word [r13 + 0x18], reloc.mfc110.dll_Ordinal_319
mov dword [r13 + 0x5c], r14d
mov dword [r13 + 0x12], r11d
mov word [r13 + 0x16], 6
mov byte [r13 + 0x55], 2
mov word [r13 + 0x3e], 0
call fcn.140028870
lea rcx, str.______classic_aes_encrypt_hw:_LowAPI_status__u_n
movzx ebx, ax
mov byte [r13 + 0x55], 0
mov word [r13 + 0x16], 0
mov edx, ebx
call fcn.140028f30
movzx ecx, bx
call fcn.1400290c0
test eax, eax
mov r13d, eax
je 0x140022605
lea r9, [rsp + 0x278]
lea rcx, [rsp + 0xb0]
mov r8d, 0x80
mov dl, 1
call fcn.14003bff0
test eax, eax
jns 0x1400223bf
lea rcx, str.classic_aes_encrypt_ark:_aes_makeKey_returned__d_n
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
lea rcx, [rsp + 0x90]
xor r8d, r8d
mov dl, 2
call fcn.14003c140
test eax, eax
jns 0x1400223ed
lea rcx, str.classic_aes_encrypt_ark:_aes_cipherInit_returned__d_n
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
cmp edi, 1
jbe 0x140022412
lea eax, [rdi - 2]
lea rcx, [rsp + 0x210]
mov r8d, reloc.WSOCK32.dll_recv
shl eax, 4
lea rdx, [rax + rbp + 0x10]
call fcn.140029a50
jmp 0x140022425
xor edx, edx
lea rcx, [rsp + 0x210]
lea r8d, [rdx + 0x10]
call fcn.140029a30
test edi, edi
je 0x140022469
mov r9d, edi
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x90]
mov r8, r12
shl r9d, 7
mov qword [rsp + 0x20], r12
call fcn.14003c830
test eax, eax
jns 0x140022469
lea rcx, [0x1401c08d8]
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
test esi, esi
je 0x1400225ea
lea eax, [rdi - 1]
lea r8, [rsp + 0x210]
lea r9, [rsp + 0x211]
shl eax, 4
lea r10, [rsp + 0x212]
lea r11, [rsp + 0x213]
lea rbx, [rax + rbp + 0x10]
mov edi, 4
sub r8, rbx
sub r9, rbx
sub r10, rbx
sub r11, rbx
mov rcx, rbx
mov rdx, rdi
nop
nop
nop
nop
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
movzx eax, byte [r9 + rcx]
xor byte [rcx + 1], al
movzx eax, byte [r10 + rcx]
xor byte [rcx + 2], al
movzx eax, byte [r11 + rcx]
xor byte [rcx + 3], al
add rcx, rdi
dec rdx
jne 0x1400224c0
test esi, esi
je 0x1400224ff
mov rcx, rbx
mov edx, esi
movzx eax, byte [rcx + 0x10]
inc rcx
xor byte [rcx - 1], al
dec rdx
jne 0x1400224f0
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x200]
mov r8d, esi
call fcn.140029a50
mov r11d, r15d
mov r8d, reloc.WSOCK32.dll_recv
and r11d, 0xf
sub r8d, esi
lea rdx, [r11 + rbx]
lea rcx, [rsp + r11 + 0x200]
call fcn.140029a50
lea r11, [rsp + 0x200]
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x90]
mov r9d, 0x80
mov qword [rsp + 0x20], r11
call fcn.14003c830
test eax, eax
jns 0x140022580
lea rcx, [0x1401c0910]
mov edx, eax
call fcn.140028f30
mov eax, 0x2bb
jmp 0x14002261d
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x210]
add rcx, 4
xor byte [rsp + rcx + 0x1fc], al
movzx eax, byte [rsp + rcx + 0x20d]
xor byte [rsp + rcx + 0x1fd], al
movzx eax, byte [rsp + rcx + 0x20e]
xor byte [rsp + rcx + 0x1fe], al
movzx eax, byte [rsp + rcx + 0x20f]
xor byte [rsp + rcx + 0x1ff], al
dec rdi
jne 0x140022582
lea rcx, [rbx + 0x10]
mov r8d, esi
mov rdx, rbx
call fcn.140029a50
lea r8d, [rdi + 0x10]
lea rdx, [rsp + 0x200]
mov rcx, rbx
call fcn.140029a50
lea rdx, [rsp + 0x220]
mov r8d, reloc.WSOCK32.dll_recv
mov rcx, rbp
call fcn.140029a50
mov eax, r13d
jmp 0x14002261d
lea rdx, [rsp + 0x248]
mov r8d, reloc.WSOCK32.dll_recv
mov rcx, rbp
call fcn.140029a50
xor eax, eax
mov r15, qword [rsp + 0x2a0]
mov r14, qword [rsp + 0x2a8]
mov r13, qword [rsp + 0x2b0]
mov r12, qword [rsp + 0x2b8]
mov rdi, qword [rsp + 0x2c0]
mov rsi, qword [rsp + 0x2c8]
mov rbp, qword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x2f8]
mov rcx, qword [rsp + 0x298]
call fcn.14006b6a0
add rsp, 0x2d8
ret