Function at 0x140031ed0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov edi, dword [rcx + 0x2d8]
mov rbp, rdx
mov r13, rcx
mov ebx, 0x2566bbb
add ebx, 0x10db5b52
xor ebx, 0x51158b10
sub ebx, 0x42244a8d
test dil, 4
je 0x140031f32
mov ebx, 0x6a8da21
add ebx, 0x833f11
sub ebx, 0x72c186a
jmp 0x140031f9d
test dil, 8
je 0x140031f58
mov ebx, 0x20ad1506
add ebx, 0x3b33a70d
xor ebx, 0x7c944afa
sub ebx, 0x2774f4f5
jmp 0x140031f9d
test dil, 0x40
je 0x140031f7e
mov ebx, 0x7ac7b46b
sub ebx, 0x756a924a
xor ebx, 0x12ff98b8
xor ebx, 0x17a2b8c1
jmp 0x140031f9d
test dil, 0x10
pushf
mov eax, 0x34723d4
add eax, 0x1182453d
add eax, 0x4ac8a3da
sub eax, 0x5f920a2f
popf
cmovne ebx, eax
mov r14, qword [r8 + 0x38]
xorps xmm0, xmm0
mov rsi, qword [r8]
mov r15d, edi
shr r15d, 5
and edi, 3
and r15d, 1
mov eax, edi
neg eax
lea rdx, [r14 + 1]
pushf
mov eax, 0x501868d2
sub eax, 0x463bf22f
add eax, 0x744c7216
sub eax, 0x7e28e8b4
popf
pushf
mov ecx, 0x477c5fbe
sub ecx, 0x165da381
add ecx, 0x12f33142
sub ecx, 0x4411ed7c
popf
sbb r12d, r12d
and r12d, 8
test edi, edi
movups xmmword [rsp + 0x78], xmm0
cmovne eax, ecx
lea rcx, [rsp + 0x70]
mov dword [rsp + 0xe0], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rax
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
call fcn.1400110e0
mov edx, 0x196bdbfb
xor edx, 0x4aaf3388
sub edx, 0x43bf0ab3
sub edx, 0x701cbec
test r14, r14
je 0x140032091
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x67287ad4
xor r9d, 0x87da790
sub r9d, 0x48b4c7ed
xor r9d, 0x26a115a8
movzx ecx, dx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xor cx, word [rdi + rsi - 2]
mov word [rdi - 2], cx
sub r8, 1
jne 0x140032070
xor esi, esi
movabs rdx, 0x8b87b76b0f01085d
sub rdx, 0xa836809
add rdx, 0x544e53e9
mov word [rax + r14*2], si
xor r9d, r9d
mov rax, qword [rsp + 0x70]
xor r8d, r8d
mov rdi, qword [0x1404e2040]
mov ecx, dword [r13 + 0x2f0]
add rdi, rdx
mov qword [rsp + 0x68], rax
xor ecx, 0x270d2d02
mov eax, dword [rsp + 0xe0]
xor edx, edx
mov dword [rsp + 0x60], 0x4ab928ee
xor dword [rsp + 0x60], 0x7154e5f8
add dword [rsp + 0x60], 0x2b7a3880
xor dword [rsp + 0x60], 0x67680594
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], esi
ror rdi, 0x32
mov dword [rsp + 0x30], esi
not rdi
mov dword [rsp + 0x28], r15d
rol rdi, 0x18
mov dword [rsp + 0x20], ebx
call rdi
mov rcx, qword [rsp + 0x70]
mov rbx, rax
lea rax, [rsp + 0x78]
cmp rcx, rax
jne 0x140032164
lea rdi, [rsp + 0x78]
xor eax, eax
mov ecx, 0x54602878
xor ecx, 0x34de6ce5
xor ecx, 0x60be44ad
rep stosb byte [rdi], al
jmp 0x140032169
call fcn.1400bb8f0
test rbx, rbx
je 0x140032211
mov rcx, qword [rbp + 0x80]
cmp rcx, 4
jae 0x1400321b6
mov rax, rcx
shl rax, 5
add rax, rbp
inc rcx
mov qword [rbp + 0x80], rcx
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x10], esi
mov qword [rax + 0x18], rsi
test rax, rax
je 0x1400321b6
mov qword [rax], rbx
jmp 0x140032213
mov rdx, qword [0x1404e20a8]
movabs rcx, 0x31aaa3e51c6f51e6
xor rcx, 0x2f0741c8
add rcx, 0x7fffffff
add rcx, 0x42cc16b
add rdx, rcx
movabs rax, 0x47cd2dab0ce76809
add rax, 0x48db6316
sub rax, 0x30fabb95
add rax, 0x7fffffff
xor rax, 0x5efa2b49
ror rdx, 0x2c
mov rcx, rbx
sub rdx, rax
ror rdx, 0xb
call rdx
xor eax, eax
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret