Function at 0x140003fb0
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r14d, dword [rsp + 0x80]
mov r13d, dword [rsp + 0x88]
mov rsi, rcx
mov rdi, rdx
mov ebp, r8d
mov r12d, r9d
call fcn.140003dc0
test rsi, rsi
je 0x140004418
test bp, bp
je 0x140004418
test rdi, rdi
je 0x140004418
test r12w, r12w
je 0x140004418
mov ecx, 0x70
call fcn.14000c998
mov rbx, rax
test rax, rax
je 0x140004070
mov eax, dword [rsi]
mov edx, dword [rdi]
test r14b, r14b
je 0x140004430
movd xmm1, dword [rsi + 8]
movd xmm4, dword [rsi + 0xc]
movd xmm0, eax
mov byte [rbx], 0x36
movd xmm2, dword [rsi + 4]
mov eax, dword [rdi + 8]
punpckldq xmm1, xmm4
movd xmm5, dword [rdi + 4]
punpckldq xmm0, xmm2
mov dword [rbx + 0x19], eax
mov eax, dword [rdi + 0xc]
punpcklqdq xmm0, xmm1
movups xmmword [rbx + 1], xmm0
movd xmm0, edx
punpckldq xmm0, xmm5
movq qword [rbx + 0x11], xmm0
mov dword [rbx + 0x1d], eax
mov word [rbx + 0x21], bp
mov word [rbx + 0x23], r12w
xor edx, edx
mov rcx, rbx
call fcn.140003b80
test eax, eax
jne 0x140004410
xor ecx, ecx
call fcn.14000c910
lea r9, [rbx + 0x24]
mov r8, rbx
mov ecx, 0xfeedbeef
mov qword [rbx + 0x28], rax
movzx eax, r13b
mov r11d, 0x9e3779b9
mov r10d, 0x9e3779b9
mov word [rbx + 0x30], ax
movzx edx, byte [r8 + 5]
movzx eax, byte [r8 + 6]
shl edx, 8
shl eax, 0x10
add edx, eax
movzx eax, byte [r8 + 4]
add edx, eax
movzx eax, byte [r8 + 7]
shl eax, 0x18
add edx, eax
movzx eax, byte [r8 + 9]
add edx, r11d
movzx r11d, byte [r8 + 0xa]
shl eax, 8
shl r11d, 0x10
add eax, r11d
movzx r11d, byte [r8 + 8]
add eax, r11d
movzx r11d, byte [r8 + 0xb]
shl r11d, 0x18
add eax, r11d
movzx r11d, byte [r8 + 2]
add eax, ecx
movzx ecx, byte [r8 + 1]
shl r11d, 0x10
shl ecx, 8
add ecx, r11d
movzx r11d, byte [r8]
add ecx, r11d
movzx r11d, byte [r8 + 3]
shl r11d, 0x18
add ecx, r11d
sub ecx, edx
sub edx, eax
sub ecx, eax
add ecx, r10d
mov r10d, eax
shr r10d, 0xd
xor ecx, r10d
sub edx, ecx
sub eax, ecx
mov r10d, edx
mov edx, ecx
shl edx, 8
xor edx, r10d
sub eax, edx
mov r10d, eax
mov eax, edx
shr eax, 0xd
xor eax, r10d
sub ecx, edx
add r8, 0xc
sub ecx, eax
sub edx, eax
mov r10d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r10d
sub edx, ecx
sub eax, ecx
mov r10d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r10d
sub eax, edx
sub ecx, edx
mov r10d, eax
mov eax, edx
shr eax, 5
xor eax, r10d
mov r10d, eax
sub ecx, eax
sub edx, eax
shr r10d, 3
xor r10d, ecx
mov r11d, r10d
sub edx, r10d
sub eax, r10d
shl r11d, 0xa
xor r11d, edx
mov ecx, r11d
sub eax, r11d
shr ecx, 0xf
xor ecx, eax
cmp r8, r9
jne 0x1400040ad
movzx eax, byte [rbx + 0x24]
add ecx, 0x25
mov qword [rbx + 0x60], rbx
mov r8d, ecx
mov dword [rbx + 0x68], 0x25
add eax, r10d
shr r8d, 0xd
sub eax, r11d
sub eax, ecx
xor r8d, eax
mov eax, r11d
sub eax, ecx
mov edx, r8d
sub ecx, r8d
sub eax, r8d
shl edx, 8
xor edx, eax
mov eax, edx
sub ecx, edx
sub r8d, edx
shr eax, 0xd
xor eax, ecx
mov ecx, eax
sub r8d, eax
sub edx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov esi, ecx
sub edx, ecx
shl esi, 0xa
sub eax, ecx
xor esi, edx
mov rdx, qword [0x140018100]
sub eax, esi
shr esi, 0xf
xor esi, eax
mov dword [rbx + 0x6c], esi
test rdx, rdx
je 0x140004460
mov rax, qword [rdx + 0x38]
lea rbp, [rbx + 0x38]
mov qword [rbx + 0x48], 0
mov rcx, qword [rax + 0x18]
movq xmm0, rax
mov r8, rcx
sub r8, qword [rax + 0x20]
movq xmm3, r8
punpcklqdq xmm0, xmm3
movups xmmword [rbx + 0x38], xmm0
mov rdi, qword [rdx + 0x38]
mov qword [rcx + 0x10], rbx
mov qword [rax + 0x18], rbp
mov eax, dword [rdi + 0x10]
lea ecx, [rax + 1]
mov eax, dword [rdi + 8]
lea edx, [rax - 1]
mov rax, qword [rdi]
and esi, edx
mov dword [rdi + 0x10], ecx
shl rsi, 4
add rax, rsi
mov edi, dword [rax + 8]
mov rcx, qword [rax]
lea edx, [rdi + 1]
mov dword [rax + 8], edx
mov qword [rbx + 0x58], rcx
mov qword [rbx + 0x50], 0
test rcx, rcx
je 0x1400042ce
mov qword [rcx + 0x18], rbp
mov qword [rax], rbp
mov eax, dword [rax + 0xc]
lea eax, [rax + rax*4 + 5]
add eax, eax
cmp edx, eax
jb 0x1400043fc
mov rsi, qword [rbx + 0x38]
mov eax, dword [rsi + 0x34]
test eax, eax
jne 0x1400043fc
mov ecx, dword [rsi + 8]
mov edx, 1
shl rcx, 5
call fcn.14000c938
mov rdi, rax
test rax, rax
je 0x1400044dd
mov eax, dword [rsi + 8]
mov edx, dword [rsi + 0x10]
mov dword [rsi + 0x2c], 0
mov ecx, dword [rsi + 0xc]
mov r12, qword [rsi]
lea r10d, [rax + rax - 1]
mov r9d, edx
add ecx, 1
and edx, r10d
shr r9d, cl
cmp edx, 1
sbb r9d, 0xffffffff
mov dword [rsi + 0x28], r9d
test eax, eax
je 0x1400043c7
shl rax, 4
mov r11, r12
lea rbp, [rax + r12]
mov r8, qword [r11]
test r8, r8
je 0x1400043be
nop dword [rax + rax]
mov rcx, r8
mov eax, r10d
mov r8, qword [r8 + 0x20]
and eax, dword [rcx + 0x34]
shl rax, 4
add rax, rdi
mov edx, dword [rax + 8]
add edx, 1
mov dword [rax + 8], edx
cmp r9d, edx
jae 0x14000439e
mov r13d, dword [rax + 0xc]
mov r14d, r9d
add dword [rsi + 0x2c], 1
imul r14d, r13d
cmp r14d, edx
jae 0x14000439e
add r13d, 1
mov dword [rax + 0xc], r13d
mov rdx, qword [rax]
mov qword [rcx + 0x18], 0
mov qword [rcx + 0x20], rdx
test rdx, rdx
je 0x1400043b6
mov qword [rdx + 0x18], rcx
mov qword [rax], rcx
test r8, r8
jne 0x140004360
add r11, 0x10
cmp r11, rbp
jne 0x140004350
mov rcx, r12
call fcn.14000c980
mov rax, qword [rbx + 0x38]
mov edx, dword [rax + 0x10]
add dword [rax + 0xc], 1
mov qword [rax], rdi
shl dword [rax + 8], 1
shr edx, 1
cmp edx, dword [rax + 0x2c]
jae 0x140004457
mov ebx, dword [rax + 0x30]
lea edx, [rbx + 1]
mov dword [rax + 0x30], edx
cmp edx, 1
jbe 0x1400043fc
mov dword [rax + 0x34], 1
mov eax, 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, rbx
call fcn.14000c980
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov dword [rbx + 1], eax
xor eax, eax
mov byte [rbx], 0x34
mov qword [rbx + 5], 0
mov dword [rbx + 0xd], 0
mov dword [rbx + 0x11], edx
mov qword [rbx + 0x15], 0
jmp 0x140004064
mov dword [rax + 0x30], 0
jmp 0x1400043fc
pxor xmm0, xmm0
mov ecx, 0x40
movups xmmword [rbx + 0x40], xmm0
call fcn.14000c998
mov qword [rbx + 0x38], rax
mov rdi, rax
test rax, rax
je 0x1400044dd
pxor xmm0, xmm0
lea rbp, [rbx + 0x38]
mov edx, 1
mov ecx, 0x200
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax + 0x18], rbp
movups xmmword [rax + 0x30], xmm0
mov rax, qword [0x140013d18]
mov qword [rdi + 0x20], 0x38
mov qword [rdi + 8], rax
call fcn.14000c938
mov dword [rdi + 0x38], 0xa0111fe1
mov qword [rdi], rax
test rax, rax
je 0x1400044dd
mov qword [0x140018100], rbx
mov edx, 0x1f
mov ecx, 1
jmp 0x1400042a1
or ecx, 0xffffffff
call fcn.14000c948
nop
nop word cs:[rax + rax]