Function at 0x1800253b0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbx
push r12
push r13
push r14
sub rsp, 0x2a8
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r12, qword [rsp + 0x2f0]
lea eax, [r9 + 8]
mov r13, qword [rsp + 0x2f8]
mov rbx, rdx
mov r14, qword [rsp + 0x300]
mov rdx, rcx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rcx
cmp r9d, eax
jae 0x1800256a2
mov qword [r11 + 0x20], rbp
lea ebp, [r9 - 0xeb]
mov qword [r11 - 0x28], rsi
lea r9, [0x180000000]
mov qword [r11 - 0x30], rdi
mov esi, 0x7fff
mov edi, dword [rsp + 0x30]
mov qword [r11 - 0x38], r15
mov r15d, 8
movaps xmmword [r11 - 0x48], xmm6
movss xmm6, dword [rsp + 0x30]
movaps xmmword [r11 - 0x58], xmm7
movss xmm7, dword [rsp + 0x30]
lea r10d, [r15 + 0x18]
movaps xmmword [r11 - 0x68], xmm8
movss xmm8, dword [0x180072a64]
nop dword [rax]
cmp ebp, 0xc
ja case.0x180025474.3
mov ecx, dword [r9 + rbp*4 + 0x25a94]
add rcx, r9
jmp rcx
mov eax, dword [r12]
mov dword [r14 + 0xd924], eax
jmp case.0x180025474.3
mov r8, rbx
mov edx, 0x83
mov rcx, r12
call fcn.180029b10
lea rax, [rsp + 0x40]
mov r9d, 0x73
mov r8, r13
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, r12
call fcn.18001c650
jmp 0x180025646
mov eax, dword [r14 + 0xd928]
mov r8d, 0x111
mov r9, qword [r14 + 0xd918]
cdq
sub eax, edx
sar eax, 1
movsxd r11, eax
cmp r8d, 0x1b7
ja 0x18002554b
je 0x18002556e
mov ecx, r8d
sub ecx, 0xde
je 0x180025547
sub ecx, 0x33
je 0x18002552b
cmp ecx, 0x73
jne 0x18002556e
test r9, r9
je 0x180025646
test r11d, r11d
jle 0x180025646
xor ecx, ecx
test r11d, r11d
jle 0x18002556e
movsx eax, word [r9 + rcx*2]
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
cmovg edi, eax
inc rcx
cmp rcx, r11
jl 0x180025512
jmp 0x18002556e
test r9, r9
je 0x180025646
test r11d, r11d
js 0x180025646
mov rax, qword [r9 + 0x10]
mov dword [rax + 0x30], r11d
jmp 0x18002556e
xor edi, edi
jmp 0x18002556e
mov eax, r8d
sub eax, 0x22a
je 0x180025569
sub eax, 0x33
je 0x180025646
cmp eax, 0x73
je 0x180025646
jmp 0x18002556e
cmp edi, esi
cmovg edi, esi
add r8d, 0xa6
cmp r8d, 0x59b
jb 0x1800254d5
jmp 0x180025646
mov r8, rbx
lea rcx, [rsp + 0x40]
mov edx, 0x83
call fcn.180029b10
lea rdx, [r14 + 0x238]
mov r8d, 0x5f
mov rcx, rbx
call fcn.180026160
mov esi, 0xdc
mov eax, esi
sub eax, 0x14
je 0x18002561f
sub eax, 0x67
je 0x180025605
sub eax, 0x61
je 0x1800255df
cmp eax, 0x1d38
jne 0x18002562f
movss xmm0, dword [rbx]
addss xmm0, dword [rbx + 4]
movss dword [rbx + 4], xmm6
movss dword [rbx], xmm0
jmp 0x18002562f
mov rcx, rbx
call qword [0x180079a00]
mov rcx, rbx
call qword [0x1800799f0]
mov rcx, rbx
call qword [0x1800799d0]
movss xmm6, dword [rbx]
subss xmm6, dword [rbx + 4]
jmp 0x18002562f
test rbx, rbx
je 0x180025641
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18002562f
xor edx, edx
mov r8d, 0x123
mov rcx, rbx
call fcn.1800165c0
add esi, 0x1d38
cmp esi, 0x74e0
jbe 0x1800255b3
mov esi, 0x7fff
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea r9, [0x180000000]
inc ebp
mov r10d, 0x20
sub r15, 1
jne 0x180025460
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmm6, xmmword [rsp + 0x280]
mov r15, qword [rsp + 0x290]
mov rdi, qword [rsp + 0x298]
mov rsi, qword [rsp + 0x2a0]
mov rbp, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.180050c90
add rsp, 0x2a8
pop r14
pop r13
pop r12
pop rbx
ret
lea rdx, [r14 + 0x38]
mov r8d, 0x5f
mov rcx, rbx
call fcn.180026160
mov esi, 0xdc
mov eax, esi
sub eax, 0x14
je 0x180025748
sub eax, 0x67
je 0x18002572a
sub eax, 0x61
je 0x180025704
cmp eax, 0x1d38
jne 0x180025758
movss xmm0, dword [rbx]
addss xmm0, dword [rbx + 4]
movss dword [rbx + 4], xmm7
movss dword [rbx], xmm0
jmp 0x180025758
mov rcx, rbx
call qword [0x180079a00]
mov rcx, rbx
call qword [0x1800799f0]
mov rcx, rbx
call qword [0x1800799d0]
movss xmm7, dword [rbx]
subss xmm7, dword [rbx + 4]
jmp 0x180025758
test rbx, rbx
je 0x180025641
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180025758
xor edx, edx
mov r8d, 0x123
mov rcx, rbx
call fcn.1800165c0
add esi, 0x1d38
cmp esi, 0x74e0
jbe 0x1800256d8
jmp 0x180025641
cmp dword [r14 + 0x14], 0
jne 0x18002578a
mov rdx, r14
mov ecx, 0x8c
call fcn.180015560
mov dword [r14 + 0xd690], eax
imul eax, dword [r14 + 0xd690], 0x41
mov rdx, r13
movsxd rcx, eax
add rcx, 0x120c
lea rax, [r14 + rcx*8]
mov ecx, 4
nop dword [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rdx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x10], xmm1
sub rcx, 1
jne 0x1800257b0
mov rax, qword [rax]
mov qword [rdx], rax
jmp 0x180025646
sub rdx, r14
lea rax, [r14 + 0xd264]
sub r8, r14
lea rcx, [r14 + 0x8c54]
mov r9d, 0xd
nop dword [rax + rax]
movss xmm1, dword [rcx - 4]
movss xmm0, dword [rcx]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rax + 0x104]
mulss xmm0, dword [rax]
addss xmm0, xmm8
divss xmm1, xmm0
movss dword [rax + rdx - 0xd264], xmm1
movss xmm1, dword [rcx + 0x204]
movss xmm2, dword [rcx + 0x208]
movss xmm0, dword [rax - 0x104]
mulss xmm0, dword [rax]
mulss xmm2, xmm2
addss xmm0, xmm8
mulss xmm1, xmm1
addss xmm2, xmm1
divss xmm2, xmm0
movss dword [rax + r8 - 0xd264], xmm2
movss xmm1, dword [rcx + 4]
movss xmm3, dword [rcx + 8]
movss xmm0, dword [rax + 0x108]
mulss xmm0, dword [rax + 4]
mulss xmm1, xmm1
addss xmm0, xmm8
mulss xmm3, xmm3
addss xmm3, xmm1
divss xmm3, xmm0
movss dword [rax + rdx - 0xd260], xmm3
movss xmm1, dword [rcx + 0x20c]
movss xmm2, dword [rcx + 0x210]
movss xmm0, dword [rax - 0x100]
mulss xmm0, dword [rax + 4]
mulss xmm2, xmm2
addss xmm0, xmm8
mulss xmm1, xmm1
addss xmm2, xmm1
divss xmm2, xmm0
movss dword [rax + r8 - 0xd260], xmm2
movss xmm1, dword [rcx + 0xc]
movss xmm3, dword [rcx + 0x10]
movss xmm0, dword [rax + 0x10c]
mulss xmm0, dword [rax + 8]
mulss xmm1, xmm1
addss xmm0, xmm8
mulss xmm3, xmm3
addss xmm3, xmm1
divss xmm3, xmm0
movss dword [rax + rdx - 0xd25c], xmm3
movss xmm1, dword [rcx + 0x214]
movss xmm2, dword [rcx + 0x218]
movss xmm0, dword [rax - 0xfc]
mulss xmm0, dword [rax + 8]
mulss xmm2, xmm2
addss xmm0, xmm8
mulss xmm1, xmm1
addss xmm2, xmm1
divss xmm2, xmm0
movss dword [rax + r8 - 0xd25c], xmm2
movss xmm1, dword [rcx + 0x14]
movss xmm0, dword [rax + 0x110]
mulss xmm0, dword [rax + 0xc]
movss xmm3, dword [rcx + 0x18]
mulss xmm1, xmm1
addss xmm0, xmm8
mulss xmm3, xmm3
addss xmm3, xmm1
divss xmm3, xmm0
movss dword [rax + rdx - 0xd258], xmm3
movss xmm1, dword [rcx + 0x21c]
movss xmm2, dword [rcx + 0x220]
movss xmm0, dword [rax - 0xf8]
mulss xmm0, dword [rax + 0xc]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm8
addss xmm2, xmm1
divss xmm2, xmm0
movss dword [rax + r8 - 0xd258], xmm2
movss xmm1, dword [rcx + 0x1c]
movss xmm0, dword [rax + 0x114]
mulss xmm0, dword [rax + 0x10]
movss xmm3, dword [rcx + 0x20]
mulss xmm1, xmm1
addss xmm0, xmm8
mulss xmm3, xmm3
addss xmm3, xmm1
divss xmm3, xmm0
movss dword [rax + rdx - 0xd254], xmm3
movss xmm1, dword [rcx + 0x224]
movss xmm2, dword [rcx + 0x228]
add rcx, 0x28
movss xmm0, dword [rax - 0xf4]
mulss xmm0, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm8
addss xmm2, xmm1
divss xmm2, xmm0
movss dword [rax + r8 - 0xd254], xmm2
add rax, 0x14
sub r9, 1
jne 0x180025830
jmp 0x180025646
cmp dword [r12], 0
mov eax, 0xc
cmovne eax, r10d
mov dword [r14 + 0xd928], eax
jmp case.0x180025474.3