Function at 0x180071000
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4a0]
sub rsp, 0x5a0
mov rax, qword [0x1801568c0]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov r12, qword [rbp + 0x500]
mov r13, rcx
mov r15, qword [rbp + 0x508]
mov esi, r8d
mov qword [rsp + 0x50], rcx
mov rcx, r12
mov r14d, r9d
mov qword [rsp + 0x38], rdx
call fcn.180077990
mov ecx, dword [r15 + 0x38]
xor edi, edi
imul esi, eax
mov r8d, edi
mov qword [rsp + 0x48], rdi
lea r9d, [rax + 7]
shr r9, 3
mov qword [rsp + 0x58], r9
add esi, 7
shr rsi, 3
cmp dword [r15 + 0x34], edi
je 0x180071095
cmp dword [r12], 3
je 0x180071093
cmp dword [r12 + 4], 8
jae 0x180071095
mov ecx, edi
test eax, eax
jne 0x1800710a3
mov eax, 0x1f
jmp 0x180071714
movaps xmmword [rsp + 0x550], xmm10
test ecx, ecx
jne 0x180071109
test r14d, r14d
je 0x180071702
mov rbx, r14
lea rdi, [rsi + 1]
mov r14, qword [rsp + 0x38]
nop word [rax + rax]
mov byte [rsp + 0x28], 0
lea rcx, [r13 + 1]
mov qword [rsp + 0x20], r9
mov rdx, r14
mov r9, rsi
mov byte [r13], 0
call fcn.180071740
mov r9, qword [rsp + 0x58]
mov r8, r14
add r14, rsi
add r13, rdi
sub rbx, 1
jne 0x1800710d0
xor eax, eax
jmp 0x18007170b
cmp ecx, 1
jne 0x1800712b9
mov r13, rdi
mov dword [rsp + 0x30], edi
mov ebx, edi
nop dword [rax + rax]
mov eax, ebx
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x40]
lea rcx, [rax + rcx*8]
call fcn.18007d9a0
mov rdx, rsi
call fcn.18007da10
test eax, eax
je 0x180071509
inc ebx
cmp ebx, 5
jb 0x180071120
test r14d, r14d
je 0x180071295
mov r12, qword [rbp - 0x40]
mov r11, qword [rsp + 0x38]
mov qword [rsp + 0x40], r14
nop dword [rax]
nop word [rax + rax]
mov ebx, edi
mov r8, qword [rsp + 0x48]
mov r9, rsi
mov r14d, ebx
mov rdx, r11
mov byte [rsp + 0x28], bl
lea rax, [r14 + r14*2]
mov r15, qword [rbp + rax*8 - 0x40]
mov rax, qword [rsp + 0x58]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.180071740
mov qword [rbp + r14*8 - 0x68], rdi
mov ecx, edi
test ebx, ebx
jne 0x1800711e3
test rsi, rsi
je 0x180071214
mov rdx, qword [rbp - 0x68]
mov rax, rdi
nop word [rax + rax]
movzx eax, byte [rax + r12]
inc ecx
add rdx, rax
mov eax, ecx
cmp rax, rsi
jb 0x1800711c0
mov qword [rbp - 0x68], rdx
mov r15d, ebx
mov r13, qword [rbp + r14*8 - 0x68]
mov dword [rsp + 0x30], ebx
jmp 0x180071227
test rsi, rsi
je 0x18007120d
mov rax, rdi
mov r8, rdi
nop
movsx eax, byte [rax + r15]
inc ecx
cdq
xor eax, edx
sub eax, edx
cdqe
add r8, rax
mov eax, ecx
cmp rax, rsi
jb 0x1800711f0
mov qword [rbp + r14*8 - 0x68], r8
cmp qword [rbp + r14*8 - 0x68], r13
jae 0x180071222
mov r13, qword [rbp + r14*8 - 0x68]
mov r15d, ebx
mov dword [rsp + 0x30], ebx
jmp 0x180071227
mov r15d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
inc ebx
cmp ebx, 5
jb 0x180071172
mov r10, qword [rsp + 0x50]
mov r8d, edi
mov qword [rsp + 0x48], r11
mov byte [r10], r15b
test rsi, rsi
je 0x180071275
mov eax, r15d
mov rdx, rdi
lea rcx, [rax + rax*2]
mov r9, qword [rbp + rcx*8 - 0x40]
nop dword [rax + rax]
movzx eax, byte [r9 + rdx]
inc r8d
mov byte [rdx + r10 + 1], al
mov edx, r8d
cmp rdx, rsi
jb 0x180071260
add r11, rsi
lea rax, [rsi + 1]
add r10, rax
mov qword [rsp + 0x38], r11
sub qword [rsp + 0x40], 1
mov qword [rsp + 0x50], r10
jne 0x180071170
lea rbx, [rbp - 0x40]
mov r13d, 5
nop
mov rcx, rbx
call fcn.18007d970
add rbx, 0x18
sub r13, 1
jne 0x1800712a0
xor eax, eax
jmp 0x18007170b
cmp ecx, 2
jne 0x180071513
xorps xmm10, xmm10
mov dword [rsp + 0x30], edi
mov ebx, edi
nop dword [rax]
mov eax, ebx
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x40]
lea rcx, [rax + rcx*8]
call fcn.18007d9a0
mov rdx, rsi
call fcn.18007da10
test eax, eax
je 0x180071509
inc ebx
cmp ebx, 5
jb 0x1800712d0
test r14d, r14d
je 0x1800714e4
movaps xmmword [rsp + 0x590], xmm6
lea rax, [rsi + 1]
movaps xmmword [rsp + 0x580], xmm7
movaps xmmword [rsp + 0x570], xmm8
xorps xmm8, xmm8
movaps xmmword [rsp + 0x560], xmm9
cvtsi2ss xmm8, rax
test rax, rax
jns 0x180071340
addss xmm8, dword [0x18011a0d0]
movss xmm9, dword [0x180119f70]
mov qword [rsp + 0x40], r14
nop
mov r13, qword [rsp + 0x38]
lea r12, [rbp - 0x40]
mov r14d, edi
mov r15, rdi
nop
mov rax, qword [rsp + 0x58]
mov r9, rsi
mov rbx, qword [r12]
mov rdx, r13
mov r8, qword [rsp + 0x48]
mov rcx, rbx
mov byte [rsp + 0x28], r14b
mov qword [rsp + 0x20], rax
call fcn.180071740
lea rax, [rbp + 0x40]
mov ecx, 0x10
nop
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rdi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x10], rdi
mov qword [rax - 8], rdi
sub rcx, 1
jne 0x180071390
mov ecx, edi
test rsi, rsi
je 0x1800713e1
mov rax, rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rax + rbx]
inc ecx
inc dword [rbp + rax*4 + 0x40]
mov eax, ecx
cmp rax, rsi
jb 0x1800713d0
inc dword [rbp + r15 + 0x40]
lea rcx, [rbp + 0x40]
xorps xmm7, xmm7
mov edx, 0x100
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
divss xmm6, xmm8
test eax, eax
jne 0x180071418
xorps xmm0, xmm0
jmp 0x180071429
movaps xmm0, xmm9
divss xmm0, xmm6
call fcn.1800723a0
mulss xmm0, xmm6
add rcx, 4
addss xmm7, xmm0
sub rdx, 1
jne 0x180071400
test r14d, r14d
je 0x180071442
comiss xmm10, xmm7
jbe 0x18007144f
mov eax, r14d
movaps xmm10, xmm7
mov dword [rsp + 0x30], eax
jmp 0x180071453
mov eax, dword [rsp + 0x30]
inc r14d
add r12, 0x18
add r15, 4
cmp r14d, 5
jb 0x180071360
mov qword [rsp + 0x48], r13
mov r8d, edi
mov r13, qword [rsp + 0x50]
mov byte [r13], al
test rsi, rsi
je 0x1800714a5
lea rcx, [rax + rax*2]
mov rdx, rdi
mov r9, qword [rbp + rcx*8 - 0x40]
nop word [rax + rax]
movzx eax, byte [r9 + rdx]
inc r8d
mov byte [rdx + r13 + 1], al
mov edx, r8d
cmp rdx, rsi
jb 0x180071490
add qword [rsp + 0x38], rsi
lea rax, [rsi + 1]
add r13, rax
sub qword [rsp + 0x40], 1
mov qword [rsp + 0x50], r13
jne 0x180071350
movaps xmm9, xmmword [rsp + 0x560]
movaps xmm8, xmmword [rsp + 0x570]
movaps xmm7, xmmword [rsp + 0x580]
movaps xmm6, xmmword [rsp + 0x590]
lea rbx, [rbp - 0x40]
mov r13d, 5
nop
mov rcx, rbx
call fcn.18007d970
add rbx, 0x18
sub r13, 1
jne 0x1800714f0
xor eax, eax
jmp 0x18007170b
mov eax, 0x53
jmp 0x18007170b
cmp ecx, 4
jne 0x180071573
test r14d, r14d
je 0x180071702
mov rbx, r14
lea r12, [rsi + 1]
mov r14, qword [rsp + 0x38]
nop dword [rax]
mov rax, qword [r15 + 0x40]
lea rcx, [r13 + 1]
movzx edx, byte [rdi + rax]
mov byte [rsp + 0x28], dl
mov qword [rsp + 0x20], r9
mov r9, rsi
mov byte [r13], dl
mov rdx, r14
call fcn.180071740
mov r9, qword [rsp + 0x58]
lea rdi, [rdi + 1]
mov r8, r14
add r13, r12
add r14, rsi
sub rbx, 1
jne 0x180071530
xor eax, eax
jmp 0x18007170b
cmp ecx, 3
jne 0x180071706
movups xmm0, xmmword [r15]
mov r13d, 5
mov dword [rsp + 0x30], edi
movups xmm1, xmmword [r15 + 0x10]
lea rbx, [rbp - 0x40]
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x68], 1
movups xmm0, xmmword [r15 + 0x20]
mov r15d, r13d
movups xmmword [rsp + 0x78], xmm1
mov qword [rbp - 0x80], rdi
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x78], rdi
nop dword [rax]
mov rcx, rbx
call fcn.18007d9a0
mov rdx, rsi
call fcn.18007da10
add rbx, 0x18
sub r15, 1
jne 0x1800715c0
test r14d, r14d
je 0x1800716eb
mov r11, qword [rsp + 0x38]
mov r13, rdi
mov qword [rsp + 0x60], r14
mov r15d, edi
lea r14, [rbp - 0x68]
lea r12, [rbp - 0x40]
nop dword [rax + rax]
mov rax, qword [rsp + 0x58]
mov r9, rsi
mov r8, qword [rsp + 0x48]
mov rdx, r11
mov rcx, qword [r12]
mov byte [rsp + 0x28], r15b
mov qword [rsp + 0x20], rax
call fcn.180071740
mov r9d, dword [r12 + 8]
lea rax, [rsp + 0x68]
mov r8, qword [r12]
lea rcx, [rsp + 0x40]
mov rdx, r14
mov qword [rsp + 0x20], rax
mov qword [r14], rdi
mov qword [rsp + 0x40], rdi
call fcn.18007efb0
mov rcx, qword [rsp + 0x40]
call fcn.180077980
test r15d, r15d
je 0x18007165f
cmp qword [r14], r13
jae 0x18007166b
mov r13, qword [r14]
mov eax, r15d
mov dword [rsp + 0x30], eax
jmp 0x18007166f
mov eax, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
inc r15d
add r12, 0x18
add r14, 8
cmp r15d, 5
jb 0x180071600
mov r10, qword [rsp + 0x50]
mov r8d, edi
mov qword [rsp + 0x48], r11
mov byte [r10], al
test rsi, rsi
je 0x1800716c5
lea rcx, [rax + rax*2]
mov rdx, rdi
mov r9, qword [rbp + rcx*8 - 0x40]
nop word [rax + rax]
movzx eax, byte [rdx + r9]
inc r8d
mov byte [rdx + r10 + 1], al
mov edx, r8d
cmp rdx, rsi
jb 0x1800716b0
add r11, rsi
lea rax, [rsi + 1]
add r10, rax
mov qword [rsp + 0x38], r11
sub qword [rsp + 0x60], 1
mov qword [rsp + 0x50], r10
jne 0x1800715f0
mov r13d, 5
lea rbx, [rbp - 0x40]
nop
mov rcx, rbx
call fcn.18007d970
add rbx, 0x18
sub r13, 1
jne 0x1800716f0
xor eax, eax
jmp 0x18007170b
mov eax, 0x58
movaps xmm10, xmmword [rsp + 0x550]
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.1800aa6b0
mov rbx, qword [rsp + 0x5f8]
add rsp, 0x5a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret