Function at 0x140215ff0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rdi
push r12
sub rsp, 0x120
mov rax, qword [0x1404b0028]
xor rax, rsp
mov qword [rsp + 0xf0], rax
cmp dword [rcx + 0x18], 0
mov r10, r9
mov qword [rsp + 0x50], r9
mov rdi, r8
mov qword [rsp + 0x30], r8
mov r9, rcx
mov r8, rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x48], rcx
mov ebx, 1
je 0x140216040
mov rbx, qword [rcx + 0xa0]
movzx eax, byte [rcx + 0x80d1]
xor edx, edx
movzx r12d, byte [rcx + 0x80d0]
mov byte [rsp + 0x20], al
mov rax, qword [rcx + 0x8630]
mov rcx, qword [rcx + 0x86d0]
shl rcx, 7
mov r11, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
add rcx, rax
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], rcx
test rbx, rbx
je 0x1402160b4
lea r8, [r9 + 0x8830]
nop dword [rax + rax]
mov rax, qword [r8]
lea r8, [r8 + 8]
mov rcx, rdx
inc rdx
and ecx, 0xf
mov qword [rsp + rcx*8 + 0x70], rax
cmp rdx, rbx
jb 0x140216090
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rdx, r9
cmp dword [rdx + 0x863c], 0
je 0x1402160db
mov rax, qword [rdx + 0x8a30]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x8a38]
mov qword [rsp + 0x80], rax
mov eax, dword [rdx + 0x1c]
dec eax
cmp eax, 6
ja case.default.0x140216125
mov qword [rsp + 0x158], rbp
lea r9, [0x140000000]
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x110], r13
cdqe
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x100], r15
mov eax, dword [r9 + rax*4 + 0x216934]
add rax, r9
jmp rax
mov r12, qword [rsp + 0x160]
cmp r8, r12
jae 0x1402168ed
mov esi, dword [rsp + 0x170]
mov r14, r8
mov rbp, qword [rsp + 0x168]
mov r13d, 0xff
shl r14, 4
nop dword [rax]
nop dword [rax + rax]
mov r15, qword [rcx + r8*8 - 0x80]
cmp qword [rsp + 0x30], r10
jae 0x140216219
lea r12, [0x140000000]
nop word [rax + rax]
mov r9, qword [r11 + rdi*8]
xor r8d, r8d
add r9, qword [rdx + 0x80f0]
add r9, r15
test rbx, rbx
je 0x1402161fb
mov r10, rdi
mov r11, rdi
and r10d, 0xf
and r11, 0xfffffffffffffff0
add r10, r14
shl r11, 4
nop dword [rax + rax]
movzx ecx, byte [r10 + r12 + 0x3f9fa0]
mov rax, r8
add rcx, r11
and eax, 0xf
mov rax, qword [rsp + rax*8 + 0x70]
mov edx, dword [rax + rcx*4]
mov rcx, rbp
add edx, esi
sar edx, cl
test edx, edx
jns 0x1402161d9
xor edx, edx
jmp 0x1402161e0
cmp edx, r13d
cmovg edx, r13d
mov byte [r9 + r8], dl
inc r8
cmp r8, rbx
jb 0x1402161b0
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
inc rdi
cmp rdi, r10
jb 0x140216180
mov r12, qword [rsp + 0x160]
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
inc r8
add r14, 0x10
mov qword [rsp + 0x28], r8
cmp r8, r12
jb 0x140216160
jmp 0x1402168ed
mov r13, qword [rsp + 0x160]
cmp r8, r13
jae 0x1402168ed
mov ebp, dword [rsp + 0x170]
mov r15, r8
mov r14, qword [rsp + 0x168]
mov esi, r12d
shl r15, 4
nop dword [rax]
nop word [rax + rax]
mov r12, qword [rcx + r8*8 - 0x80]
mov r9, rdi
mov qword [rsp + 0x58], r12
cmp rdi, r10
jae 0x140216348
mov r13d, 0xffff
nop dword [rax]
mov rcx, qword [r11 + r9*8]
xor r8d, r8d
mov rax, qword [rdx + 0x80f0]
add rcx, r12
lea rdi, [rax + rcx*2]
test rbx, rbx
je 0x140216325
mov r10, r9
lea r12, [0x140000000]
and r10d, 0xf
mov r11, r9
add r10, r15
and r11, 0xfffffffffffffff0
shl r11, 4
nop word [rax + rax]
movzx ecx, byte [r10 + r12 + 0x3f9fa0]
mov rax, r8
add rcx, r11
and eax, 0xf
mov rax, qword [rsp + rax*8 + 0x70]
mov edx, dword [rax + rcx*4]
mov rcx, r14
add edx, ebp
sar edx, cl
mov ecx, esi
shl edx, cl
test edx, edx
jns 0x1402162fd
xor edx, edx
jmp 0x140216304
cmp edx, r13d
cmovg edx, r13d
mov word [rdi + r8*2], dx
inc r8
cmp r8, rbx
jb 0x1402162d0
mov r12, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
inc r9
cmp r9, r10
jb 0x140216290
mov r13, qword [rsp + 0x160]
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
inc r8
add r15, 0x10
mov qword [rsp + 0x28], r8
cmp r8, r13
jb 0x140216270
jmp 0x1402168ed
mov rax, qword [rsp + 0x160]
cmp r8, rax
jae 0x1402168ed
mov r14d, dword [rsp + 0x170]
mov ebp, r12d
mov r15, qword [rsp + 0x168]
mov r12, r8
mov rcx, qword [rsp + 0x30]
mov edi, 0x7fff
mov rsi, qword [rsp + 0x40]
shl r12, 4
nop dword [rax]
mov r13, qword [rsi + r8*8 - 0x80]
mov r9, rcx
mov qword [rsp + 0x58], r13
cmp rcx, r10
jae 0x14021647e
nop word [rax + rax]
mov rcx, qword [r11 + r9*8]
xor r8d, r8d
mov rax, qword [rdx + 0x80f0]
add rcx, r13
lea rsi, [rax + rcx*2]
test rbx, rbx
je 0x14021645b
mov r10, r9
lea r13, [0x140000000]
and r10d, 0xf
mov r11, r9
add r10, r12
and r11, 0xfffffffffffffff0
shl r11, 4
nop word [rax + rax]
movzx ecx, byte [r10 + r13 + 0x3f9fa0]
mov rax, r8
add rcx, r11
and eax, 0xf
mov rax, qword [rsp + rax*8 + 0x70]
mov edx, dword [rax + rcx*4]
mov rcx, r15
add edx, r14d
sar edx, cl
mov ecx, ebp
shl edx, cl
cmp edx, 0xffff8000
jge 0x140216435
mov edx, 0xffff8000
jmp 0x14021643a
cmp edx, edi
cmovg edx, edi
mov word [rsi + r8*2], dx
inc r8
cmp r8, rbx
jb 0x140216400
mov r13, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
inc r9
cmp r9, r10
jb 0x1402163c0
mov rax, qword [rsp + 0x160]
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
inc r8
add r12, 0x10
mov qword [rsp + 0x28], r8
cmp r8, rax
jb 0x1402163a0
jmp 0x1402168ed
mov r13, qword [rsp + 0x160]
cmp r8, r13
jae 0x1402168ed
mov ebp, dword [rsp + 0x170]
mov r15, r8
mov r14, qword [rsp + 0x168]
mov edi, 0x7fff
mov rax, qword [rsp + 0x30]
shl r15, 4
nop dword [rax]
mov r12, qword [rcx + r8*8 - 0x80]
mov r9, rax
cmp rax, r10
jae 0x14021658e
lea r13, [0x140000000]
nop dword [rax + rax]
mov rcx, qword [r11 + r9*8]
xor r8d, r8d
mov rax, qword [rdx + 0x80f0]
add rcx, r12
lea rsi, [rax + rcx*2]
test rbx, rbx
je 0x14021656b
mov r10, r9
mov r11, r9
and r10d, 0xf
and r11, 0xfffffffffffffff0
add r10, r15
shl r11, 4
nop
movzx ecx, byte [r10 + r13 + 0x3f9fa0]
mov rax, r8
and eax, 0xf
add rcx, r11
mov rax, qword [rsp + rax*8 + 0x70]
mov edx, dword [rax + rcx*4]
mov rcx, r14
add edx, ebp
sar edx, cl
mov eax, edx
and dx, di
sar eax, 0x1f
xor dx, ax
sub dx, ax
mov word [rsi + r8*2], dx
inc r8
cmp r8, rbx
jb 0x140216520
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
inc r9
cmp r9, r10
jb 0x1402164f0
mov r13, qword [rsp + 0x160]
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
inc r8
add r15, 0x10
mov qword [rsp + 0x28], r8
cmp r8, r13
jb 0x1402164d0
jmp 0x1402168ed
mov r13, qword [rsp + 0x160]
cmp r8, r13
jae 0x1402168ed
mov ebp, dword [rsp + 0x170]
mov r15, r8
mov r14, qword [rsp + 0x168]
mov esi, r12d
shl r15, 4
mov r12, qword [rcx + r8*8 - 0x80]
mov r11, rdi
cmp rdi, r10
jae 0x140216693
mov r13, qword [rsp + 0x38]
nop dword [rax + rax]
mov rcx, qword [r13 + r11*8]
xor r8d, r8d
mov rax, qword [rdx + 0x80f0]
add rcx, r12
lea rdi, [rax + rcx*4]
test rbx, rbx
je 0x140216670
mov r9, r11
lea r13, [0x140000000]
and r9d, 0xf
mov r10, r11
add r9, r15
and r10, 0xfffffffffffffff0
shl r10, 4
nop word [rax + rax]
movzx ecx, byte [r9 + r13 + 0x3f9fa0]
mov rax, r8
add rcx, r10
and eax, 0xf
mov rax, qword [rsp + rax*8 + 0x70]
mov edx, dword [rax + rcx*4]
mov rcx, r14
add edx, ebp
sar edx, cl
mov ecx, esi
shl edx, cl
mov dword [rdi + r8*4], edx
inc r8
cmp r8, rbx
jb 0x140216630
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
inc r11
cmp r11, r10
jb 0x1402165f0
mov r13, qword [rsp + 0x160]
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
inc r8
add r15, 0x10
mov qword [rsp + 0x28], r8
cmp r8, r13
jb 0x1402165d2
jmp 0x1402168ed
mov r13, qword [rsp + 0x160]
cmp r8, r13
jae 0x1402168ed
mov ebp, dword [rsp + 0x170]
mov r15, r8
mov r14, qword [rsp + 0x168]
mov esi, r12d
shl r15, 4
nop word [rax + rax]
mov r12, qword [rcx + r8*8 - 0x80]
mov r11, rdi
cmp rdi, r10
jae 0x1402167a3
mov r13, qword [rsp + 0x38]
nop word [rax + rax]
mov rcx, qword [r13 + r11*8]
xor r8d, r8d
mov rax, qword [rdx + 0x80f0]
add rcx, r12
lea rdi, [rax + rcx*4]
test rbx, rbx
je 0x140216780
mov r9, r11
lea r13, [0x140000000]
and r9d, 0xf
mov r10, r11
add r9, r15
and r10, 0xfffffffffffffff0
shl r10, 4
nop word [rax + rax]
movzx ecx, byte [r9 + r13 + 0x3f9fa0]
mov rax, r8
add rcx, r10
and eax, 0xf
mov rax, qword [rsp + rax*8 + 0x70]
mov edx, dword [rax + rcx*4]
mov rcx, r14
add edx, ebp
sar edx, cl
mov ecx, esi
shl edx, cl
mov dword [rdi + r8*4], edx
inc r8
cmp r8, rbx
jb 0x140216740
mov r10, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x38]
inc r11
cmp r11, r10
jb 0x140216700
mov r13, qword [rsp + 0x160]
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
inc r8
add r15, 0x10
mov qword [rsp + 0x28], r8
cmp r8, r13
jb 0x1402166e0
jmp 0x1402168ed
cmp r8, qword [rsp + 0x160]
jae 0x1402168ed
mov r13d, dword [rsp + 0x170]
mov rdx, r8
shl rdx, 4
mov qword [rsp + 0x58], rdx
nop
mov rax, qword [rcx + r8*8 - 0x80]
mov rsi, rdi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rdi
cmp rdi, r10
jae 0x1402168ce
nop dword [rax + rax]
mov rcx, qword [r11 + rsi*8]
xor edi, edi
add rcx, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x80f0]
lea r15, [rax + rcx*4]
test rbx, rbx
je 0x1402168a9
mov rbp, rsi
mov r14, rsi
movzx esi, byte [rsp + 0x20]
and ebp, 0xf
add rbp, rdx
and r14, 0xfffffffffffffff0
shl r14, 4
nop dword [rax + rax]
movzx ecx, byte [r9 + rbp + 0x3f9fa0]
mov rax, rdi
add rcx, r14
and eax, 0xf
movzx r8d, r12b
movzx edx, sil
mov rax, qword [rsp + rax*8 + 0x70]
mov r9d, dword [rax + rcx*4]
mov rcx, qword [rsp + 0x168]
add r9d, r13d
sar r9d, cl
mov ecx, r9d
call fcn.140217440
movss dword [r15 + rdi*4], xmm0
lea r9, [0x140000000]
inc rdi
cmp rdi, rbx
jb 0x140216840
mov rsi, qword [rsp + 0x60]
lea r9, [0x140000000]
mov rdx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x38]
mov rax, qword [rsp + 0x68]
inc rsi
mov qword [rsp + 0x60], rsi
cmp rsi, r10
jb 0x140216800
mov r8, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
inc r8
add rdx, 0x10
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x58], rdx
cmp r8, qword [rsp + 0x160]
jb 0x1402167e0
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x158]
mov r15, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140048b40
add rsp, 0x120
pop r12
pop rdi
pop rbx
ret