Function at 0x140034520
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x414083aa
add rsp, 0x4140832a
mov rbx, rdx
mov r15, rcx
mov edx, r8d
lea rcx, [rbp - 0x28]
call fcn.140083a80
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140085310
test al, al
je 0x140034890
xor r14b, r14b
lea rdx, [rbp - 0x48]
mov r8d, 0x5080e516
sub r8d, 0x44776e7b
sub r8d, 0xc09767b
mov byte [rbp - 0x60], r14b
lea rcx, [rbp - 0x28]
call fcn.1400866d0
test al, al
je 0x140034890
xor ebx, ebx
cmp dword [rbp - 0x48], 0x32484346
jne 0x140034673
cmp dword [rbp - 0x44], 0x20
jne 0x140034673
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x3c]
cmp ecx, 0x40
jne 0x1400345d4
cmp eax, ecx
je 0x14003464c
cmp ecx, 0x80
jne 0x1400345e8
cmp eax, ecx
je 0x14003464c
cmp ecx, 0x100
jne 0x1400345fc
cmp eax, ecx
je 0x14003464c
cmp ecx, 0x200
jne 0x140034610
cmp eax, ecx
je 0x14003464c
cmp ecx, 0x400
jne 0x140034624
cmp eax, ecx
je 0x14003464c
cmp ecx, 0x800
jne 0x140034638
cmp eax, ecx
je 0x14003464c
cmp ecx, 0x1000
jne 0x140034890
cmp eax, ecx
jne 0x140034890
mov edx, dword [rbp - 0x34]
test edx, edx
jle 0x140034890
mov r8d, dword [rbp - 0x38]
mov r14b, 0x51
sub r14b, 0x4f
add r14b, 5
sub r14b, 6
mov byte [rbp - 0x60], r14b
jmp 0x140034749
xor edx, edx
lea rcx, [rbp - 0x28]
call fcn.140086960
mov r8d, 0x5ca26217
add r8d, 0x8c7e8af
sub r8d, 0x656a4ab6
mov qword [rbp - 0x58], rbx
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x28]
call fcn.1400866d0
test al, al
je 0x140034890
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
cmp ecx, 0x40
jne 0x1400346c2
cmp eax, ecx
je 0x14003473a
cmp ecx, 0x80
jne 0x1400346d6
cmp eax, ecx
je 0x14003473a
cmp ecx, 0x100
jne 0x1400346ea
cmp eax, ecx
je 0x14003473a
cmp ecx, 0x200
jne 0x1400346fe
cmp eax, ecx
je 0x14003473a
cmp ecx, 0x400
jne 0x140034712
cmp eax, ecx
je 0x14003473a
cmp ecx, 0x800
jne 0x140034726
cmp eax, ecx
je 0x14003473a
cmp ecx, 0x1000
jne 0x140034890
cmp eax, ecx
jne 0x140034890
mov edx, dword [rbp - 0x4c]
test edx, edx
jle 0x140034890
mov r8d, dword [rbp - 0x50]
xor eax, 0x7954299c
xor ecx, 0x7954299c
xor r8d, 0x7954299c
xor edx, 0x7954299c
mov r9d, 0x2a5c9d77
add r9d, 0x3eec17cb
sub r9d, 0x1c6a6d0b
sub r9d, 0x4cde454f
mov esi, 0x53e6b677
sub esi, 0x332b7731
xor esi, 0x20bbc0b9
add r9, r15
mov r10, r15
mov qword [rbp - 0x58], r9
mov dword [r9], ecx
mov dword [r9 + 4], eax
mov eax, 0x11d47d91
add eax, 0x5e81fb99
xor eax, 0x10343565
xor eax, 0x60624cb0
mov dword [r15 + 0x2f4], r8d
mov dword [r15 + 0x30c], edx
mov r13d, dword [r15 + 0x2d8]
and r13d, 0x2000
cmovne esi, eax
mov r12d, esi
shl r12, 4
cmp qword [r15 + 0x300], rbx
jne 0x140034828
mov edx, 0x49ce3817
xor edx, 0x6e9b7f54
xor edx, 0x33caa29e
xor edx, 0x149fe5cd
mov rcx, r12
call fcn.140095e10
mov rcx, rax
mov edx, esi
movaps xmm0, xmmword [0x1404a1540]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, 1
jne 0x140034809
mov qword [r15 + 0x300], rax
mov edx, 0x2b278c48
add edx, 0x2d4d3e6f
xor edx, 0x5c60583d
xor edx, 0x414929a
mov rcx, r12
call fcn.140095e10
mov rdi, rax
test rax, rax
je 0x140034890
test r14b, r14b
je 0x1400349f2
movsxd rcx, dword [rbp - 0x30]
call fcn.140095da0
mov r8d, dword [rbp - 0x30]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov r14, rax
call fcn.1400866d0
test al, al
jne 0x1400348bf
mov rcx, rdi
call fcn.140095dc0
mov rcx, r14
call fcn.140095db0
xor bl, bl
lea rcx, [rbp - 0x28]
call fcn.140083b30
lea r11, [rsp + 0x80]
movzx eax, bl
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
mov r8d, dword [rbp - 0x30]
mov eax, 0x43ede9b0
sub eax, 0x2dabd01a
add eax, 0x561cc8ea
sub eax, 0x6c5ed290
mov r9d, 0x4d57f5b0
xor r9d, 0xa0245bc
sub r9d, 0x4745b01c
test r13d, r13d
mov rdx, rdi
mov rcx, r14
cmovne r9d, eax
call fcn.14007f900
movsxd rcx, eax
cmp rcx, r12
jne 0x140034880
mov rcx, r14
call fcn.140095db0
nop dword [rax]
movups xmm0, xmmword [rbx + rdi]
lea rbx, [rbx + 0x10]
mov rax, qword [r15 + 0x300]
xorps xmm0, xmmword [0x1404a1540]
movups xmmword [rbx + rax - 0x10], xmm0
sub rsi, 1
jne 0x140034918
mov rcx, rdi
call fcn.140095dc0
mov rax, qword [rbp - 0x58]
nop
movabs rcx, 0xffffffff3a2b68bf
add rcx, 0x412d2d9e
sub rcx, 0x52587ba7
add rcx, 0x7fffffff
add rcx, 0x56ffe54a
mov esi, dword [r15 + 0x2ec]
xor esi, 0x7954299c
mov eax, dword [rax]
xor eax, 0x7954299c
imul esi, eax
mov eax, 0x543a8519
sub eax, 0x20fd2064
sub eax, 0x333d64b1
movsxd r14, esi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.140095da0
mov rbx, rax
test rax, rax
je 0x140034890
cmp byte [rbp - 0x60], 0
je 0x140034a89
movsxd rcx, dword [rbp - 0x2c]
call fcn.140095da0
mov r8d, dword [rbp - 0x2c]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov rdi, rax
call fcn.1400866d0
mov rcx, rdi
test al, al
jne 0x140034a42
call fcn.140095db0
mov rcx, rbx
jmp 0x14003488b
mov eax, 0x3bea692c
xor eax, 0x75ab36ef
xor eax, 0x20af4e09
sub eax, 0x6eee01da
lea rcx, [rbp - 0x28]
mov r8d, 0x3f2ee7dc
add r8d, 0x387d1114
xor r8d, 0x77a40700
test r13d, r13d
mov rdx, rdi
cmovne r8d, eax
call fcn.1400866d0
test al, al
jne 0x140034918
mov rcx, rdi
call fcn.140095dc0
jmp 0x140034890
mov r8d, dword [rbp - 0x2c]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.14007f900
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x1400349e5
call fcn.140095db0
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x38
add bl, 0xf
sub bl, 0x13
sub bl, 0x33
jmp 0x140034892
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400866d0
test al, al
je 0x1400349ea
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x42
sub bl, 0x28
sub bl, 0x19
jmp 0x140034892