Function at 0x140033684
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x64aa0353
add rsp, 0x64aa02d3
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.1400989c8
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14009a344
test al, al
je 0x14003390e
mov r8d, 0x7f5a9d97
sub r8d, 0x2bbf2a9c
sub r8d, 0x28f6bab
sub r8d, 0x510c0730
mov byte [rbp - 0x60], 0x3a
add byte [rbp - 0x60], 0x1e
sub byte [rbp - 0x60], 0x58
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14009b374
test al, al
je 0x14003390e
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x7f1ef6cb
xor r15d, 0x3bed96b6
xor r15d, 0x2bb98e73
sub r15d, 0x6f4aee0d
popf
jne 0x140033780
cmp dword [rbp - 0x3c], 0x20
jne 0x140033780
mov esi, dword [rbp - 0x38]
lea rdx, [rbp - 0x58]
mov ebx, dword [rbp - 0x34]
mov rcx, rdi
mov dword [rbp - 0x58], esi
mov dword [rbp - 0x54], ebx
call fcn.1400331d4
test al, al
je 0x14003390e
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x14003390e
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x1400337e4
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14009b5e8
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x1484360c
add r8d, 0x1aa8a33b
sub r8d, 0x2f2cd937
call fcn.14009b374
test al, al
je 0x14003390e
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.1400331d4
test al, al
je 0x14003390e
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x14003390e
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x7b92e8f5
xor r14d, 0x59e7959a
xor r14d, 0x24c7ee4
mov edx, 0x53ea0426
xor edx, 0x77d7f58e
xor edx, 0x243df340
xor esi, r14d
mov qword [rbp - 0x50], rdx
xor eax, r14d
xor ebx, r14d
xor ecx, r14d
mov r8, rdi
mov dword [rdx + rdi], esi
mov dword [rdx + rdi + 4], ebx
mov dword [rdi + 0x2f4], ecx
mov dword [rdi + 0x30c], eax
mov esi, dword [rdi + 0x2d8]
and esi, 0x2000
mov eax, esi
mov dword [rbp - 0x58], esi
neg eax
sbb r13, r13
and r13, 0xffffffffffff0100
add r13, 0xffff
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x1400338ab
mov edx, 0x132aca39
add edx, 0x176eeb02
sub edx, 0x69fcc77
sub edx, 0x23f9e8b4
mov rcx, r12
call fcn.1400bb650
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x14048a530]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x14003388d
mov qword [rdi + 0x300], rax
mov edx, 0x5da97480
sub edx, 0xce740a6
sub edx, 0x50c233ca
mov rcx, r12
call fcn.1400bb650
mov rbx, rax
test rax, rax
je 0x14003390e
cmp byte [rbp - 0x60], 0
je 0x140033a22
movsxd rcx, dword [rbp - 0x28]
call fcn.1400bb5d0
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14009b374
test al, al
jne 0x14003393e
mov rcx, rbx
call fcn.1400bb5f0
mov rcx, rsi
call fcn.1400bb5e0
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.140098b64
lea r11, [rsp + 0x80]
mov al, r15b
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
neg dword [rbp - 0x58]
mov rdx, rbx
mov r8d, dword [rbp - 0x28]
mov rcx, rsi
sbb r9d, r9d
and r9d, 0xfff01000
neg r9d
add r9d, 0xfff00010
neg r9d
call fcn.14009f300
movsxd rcx, eax
cmp rcx, r12
jne 0x1400338fe
mov rcx, rsi
call fcn.1400bb5e0
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x14048a530]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x14003397d
mov rcx, rbx
call fcn.1400bb5f0
mov rax, qword [rbp - 0x50]
lea rcx, [r13 - 1]
mov esi, dword [rdi + 0x2ec]
xor esi, r14d
mov eax, dword [rax + rdi]
xor eax, r14d
imul esi, eax
lea eax, [r13 + 4]
movsxd r14, esi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.1400bb5d0
mov rbx, rax
test rax, rax
je 0x14003390e
cmp byte [rbp - 0x60], r13b
je 0x140033a92
movsxd rcx, dword [rbp - 0x24]
call fcn.1400bb5d0
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14009b374
mov rcx, rdi
test al, al
jne 0x140033a5d
call fcn.1400bb5e0
mov rcx, rbx
jmp 0x140033909
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0x38379999
sub r8d, 0x382799a9
call fcn.14009b374
test al, al
jne 0x14003397b
mov rcx, rbx
call fcn.1400bb5f0
jmp 0x14003390e
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.14009f300
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x140033a15
call fcn.1400bb5e0
jmp 0x140033aae
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14009b374
test al, al
je 0x140033a1a
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x140033911