Function at 0x140033818
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
add rsp, 0xa16d2b7
sub rsp, 0xa16d337
mov rbx, rdx
mov rdi, rcx
mov edx, r8d
lea rcx, [rbp - 0x20]
call fcn.140098780
mov rdx, rbx
lea rcx, [rbp - 0x20]
call 0x14009a014
test al, al
je 0x140033ab7
mov r8d, 0x5eafd537
sub r8d, 0x43b82cc0
add r8d, 0x392e83d9
sub r8d, 0x54262c30
mov byte [rbp - 0x60], 0x6b
sub byte [rbp - 0x60], 0x1f
xor byte [rbp - 0x60], 0x4c
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14009aff8
test al, al
je 0x140033ab7
cmp dword [rbp - 0x40], 0x32484346
pushf
mov r15d, 0x1304372d
add r15d, 0x3f2ff9ee
sub r15d, 0x47709fb
sub r15d, 0x4dbd271f
popf
jne 0x140033914
cmp dword [rbp - 0x3c], 0x20
jne 0x140033914
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.140033340
test al, al
je 0x140033ab7
mov eax, dword [rbp - 0x2c]
test eax, eax
jle 0x140033ab7
mov ecx, dword [rbp - 0x30]
mov byte [rbp - 0x60], r15b
jmp 0x14003397f
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14009b288
and dword [rbp - 0x50], 0
lea rdx, [rbp - 0x50]
and dword [rbp - 0x4c], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x26049803
add r8d, 0xc32492a
xor r8d, 0x18e1aa3
sub r8d, 0x33b8fb7e
call fcn.14009aff8
test al, al
je 0x140033ab7
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.140033340
test al, al
je 0x140033ab7
mov eax, dword [rbp - 0x44]
test eax, eax
jle 0x140033ab7
mov ecx, dword [rbp - 0x48]
mov ebx, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x50]
mov r14d, 0x3927bc5f
add r14d, 0xed44edf
xor r14d, 0xb91f2fb
xor r14d, 0x79cf90ee
mov edx, 0x7aee5024
sub edx, 0x12f1f953
sub edx, 0x67fc53e9
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
sub r13, 0x123c345c
add r13, 0x123d345b
mov r12, r13
shl r12, 4
cmp qword [rdi + 0x300], 0
jne 0x140033a54
mov edx, 0x605ddb14
sub edx, 0x430bbda1
sub edx, 0x3daf181
xor edx, 0x19772be2
mov rcx, r12
call fcn.1400bb300
mov rcx, rax
mov rdx, r13
movaps xmm0, xmmword [0x1404d1530]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, r15
jne 0x140033a36
mov qword [rdi + 0x300], rax
mov edx, 0x2df95eaf
xor edx, 0x55cc91ee
xor edx, 0x7835cf51
mov rcx, r12
call fcn.1400bb300
mov rbx, rax
test rax, rax
je 0x140033ab7
cmp byte [rbp - 0x60], 0
je 0x140033bc5
movsxd rcx, dword [rbp - 0x28]
call fcn.1400bb280
mov r8d, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rsi, rax
call fcn.14009aff8
test al, al
jne 0x140033ae7
mov rcx, rbx
call fcn.1400bb2a0
mov rcx, rsi
call fcn.1400bb290
xor r15b, r15b
lea rcx, [rbp - 0x20]
call fcn.14009892c
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
sub r9d, 0xfff00010
call fcn.14009f010
movsxd rcx, eax
cmp rcx, r12
jne 0x140033aa7
mov rcx, rsi
call fcn.1400bb290
xor ecx, ecx
movups xmm0, xmmword [rcx + rbx]
mov rax, qword [rdi + 0x300]
xorps xmm0, xmmword [0x1404d1530]
movups xmmword [rcx + rax], xmm0
lea rcx, [rcx + 0x10]
sub r13, r15
jne 0x140033b20
mov rcx, rbx
call fcn.1400bb2a0
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.1400bb280
mov rbx, rax
test rax, rax
je 0x140033ab7
cmp byte [rbp - 0x60], r13b
je 0x140033c35
movsxd rcx, dword [rbp - 0x24]
call fcn.1400bb280
mov r8d, dword [rbp - 0x24]
lea rcx, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
call fcn.14009aff8
mov rcx, rdi
test al, al
jne 0x140033c00
call fcn.1400bb290
mov rcx, rbx
jmp 0x140033ab2
neg esi
lea rcx, [rbp - 0x20]
mov rdx, rbx
sbb r8d, r8d
and r8d, 0xfff01000
add r8d, 0x56b3f3cb
sub r8d, 0x56a3f3db
call fcn.14009aff8
test al, al
jne 0x140033b1e
mov rcx, rbx
call fcn.1400bb2a0
jmp 0x140033ab7
mov r8d, dword [rbp - 0x24]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.14009f010
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x140033bb8
call fcn.1400bb290
jmp 0x140033c51
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.14009aff8
test al, al
je 0x140033bbd
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
jmp 0x140033aba