Function at 0x140084110
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov r15d, edx
lea r12, [0x1400a8a30]
mov rdi, rcx
nop dword [rax]
nop dword [rax + rax]
mov rsi, qword [rdi + 0x10]
lea rdx, [rbp + 0x90]
mov r14, qword [rdi]
mov rcx, rsi
mov r8d, 4
call r14
cmp rax, 4
jne 0x140084346
mov ebx, eax
mov dword [rbp + 0xa0], ebx
nop dword [rax]
cmp byte [rbp + 0x90], 0x4f
movzx eax, byte [rbp + 0x93]
movzx ecx, byte [rbp + 0x92]
movzx edx, byte [rbp + 0x91]
jne 0x1400841dd
cmp dl, 0x67
jne 0x1400841dd
cmp cl, dl
jne 0x1400841dd
cmp al, 0x53
jne 0x1400841dd
lea rax, [rbp + 0xa8]
mov dword [rbp + 0xa8], 0x5fb0a94f
lea r9, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, r14
call fcn.140083d80
test eax, eax
je 0x140084213
cmp eax, 0xffffff9c
jne 0x140084346
mov ebx, dword [rbp + 0xa0]
jmp 0x140084170
mov byte [rbp + 0x90], dl
mov r8d, 1
mov byte [rbp + 0x91], cl
lea rdx, [rbp + 0x93]
mov rcx, rsi
mov byte [rbp + 0x92], al
call r14
cmp rax, 1
jne 0x140084346
inc ebx
jmp 0x140084166
mov eax, dword [rbp + 0xa0]
xor edx, edx
add qword [rdi + 0x18], rax
xor r8d, r8d
movzx r10d, byte [rsp + 0x4c]
xor r11d, r11d
xor ecx, ecx
cmp r10, 2
jb 0x140084258
lea r9, [r10 - 1]
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x4d]
add edx, eax
movzx eax, byte [rsp + rcx + 0x4e]
add r8d, eax
add rcx, 2
cmp rcx, r9
jl 0x140084240
cmp rcx, r10
jge 0x140084263
movzx r11d, byte [rsp + rcx + 0x4d]
lea ebx, [rdx + r8]
add ebx, r11d
cmp ebx, 0xff1b
ja 0x140084140
mov eax, dword [rdi + 0x28]
cmp dword [rsp + 0x40], eax
je 0x1400842de
test ebx, ebx
je 0x140084140
cmp rbx, 0x7fffffff
jbe 0x1400842c2
mov rcx, qword [rdi + 0x10]
mov edx, 0x7fffffff
mov r8d, 1
call qword [rdi + 8]
test eax, eax
je 0x140084346
add qword [rdi + 0x18], 0x7fffffff
sub rbx, 0x7fffffff
cmp rbx, 0x7fffffff
ja 0x140084290
mov rcx, qword [rdi + 0x10]
mov r8d, 1
mov edx, ebx
call qword [rdi + 8]
test eax, eax
je 0x140084346
add qword [rdi + 0x18], rbx
jmp 0x140084140
mov rcx, qword [rdi + 0x10]
lea rsi, [rdi + 0x278]
mov rdx, rsi
mov r8d, ebx
mov r14d, ebx
call qword [rdi]
add qword [rdi + 0x18], rax
cmp rax, r14
jne 0x140084346
mov edx, dword [rbp + 0xa8]
mov dword [rdi + 0x274], ebx
test ebx, ebx
je 0x14008432d
nop dword [rax]
movzx eax, byte [rsi]
lea rsi, [rsi + 1]
mov ecx, edx
shr rcx, 0x18
xor rcx, rax
shl edx, 8
xor edx, dword [r12 + rcx*4]
sub r14, 1
jne 0x140084310
cmp edx, dword [rsp + 0x48]
je 0x14008435a
test r15d, r15d
je 0x140084140
xor edx, edx
mov rcx, rdi
call fcn.140084110
xor eax, eax
add rsp, 0x150
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [rdi + 0x150]
mov r8d, 2
lea rdx, [rsp + 0x30]
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub r8, 1
jne 0x140084370
movups xmm0, xmmword [rdx]
mov dword [rdi + 0x270], ebx
lea eax, [r8 + 1]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
jmp 0x140084348