Function at 0x1800047f8
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movaps xmmword [rsp + 0x220], xmm15
movaps xmmword [rsp + 0x210], xmm14
movaps xmmword [rsp + 0x200], xmm13
movaps xmmword [rsp + 0x1f0], xmm12
movaps xmmword [rsp + 0x1e0], xmm11
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1c0], xmm9
movaps xmmword [rsp + 0x1b0], xmm8
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x190], xmm6
movsd xmm7, qword [0x1800120d0]
addps xmm7, xmmword [0x18000e6a0]
movaps xmm8, xmm7
movss xmm6, dword [0x1800120f0]
addss xmm6, dword [0x18000e280]
divss xmm6, dword [0x18000e6b0]
shufps xmm8, xmm7, 0x55
addss xmm6, dword [0x18000e2d4]
movss xmm9, dword [0x18000e2f0]
addss xmm8, xmm9
addss xmm9, xmm7
movd esi, xmm9
mov rdx, qword [0x180012920]
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0x98]
lea r9, [rsp + 0x94]
call fcn.18000a79e
cmp dword [0x180012944], 0
je 0x1800048e6
movaps xmm0, xmmword [0x18000e380]
jmp 0x1800048ed
movaps xmm0, xmmword [0x1800120e0]
movaps xmm1, xmmword [0x18000e390]
movaps xmmword [rsp + 0x130], xmm1
lea rax, [rsp + 0x180]
movaps xmmword [rax], xmm0
movss xmm15, dword [0x18000e6b4]
addss xmm15, xmm8
mov rdx, qword [0x180012918]
movd r8d, xmm15
shl r8, 0x20
mov r12d, esi
or r8, r12
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x425c0000
lea rcx, [rsp + 0x70]
movaps xmm3, xmm6
call fcn.180009628
movsd xmm10, qword [0x18000e6c0]
movsd qword [rsp + 0xe0], xmm10
lea r13, [rsp + 0x72]
movaps xmm0, xmmword [0x18000e6d0]
movaps xmmword [r13 - 2], xmm0
mov word [r13 + 0x1a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x12
inc rax
cmp rax, 0xe
jne 0x180004975
mov word [rsp + 0x8c], 0
xorps xmm12, xmm12
movaps xmmword [rsp + 0x100], xmm12
cmp word [rsp + 0x72], 0
je 0x1800049ca
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x1800049a4
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
test eax, eax
je 0x1800049ca
mov qword [rsp + 0x100], r13
mov r9, qword [0x1800128e0]
mov r8, qword [0x180012918]
lea r15, [rsp + 0xe0]
mov qword [rsp + 0x28], r15
lea rbx, [rsp + 0x100]
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0xb0]
lea rsi, [rsp + 0x148]
mov rdx, rsi
call fcn.1800091ae
movss xmm0, dword [0x18000e2d0]
movaps xmm11, xmm6
mulss xmm11, xmm0
mulss xmm0, dword [rsi]
addss xmm11, xmm9
movaps xmm1, xmm11
subss xmm1, xmm0
movaps xmm14, xmmword [0x18000e380]
movaps xmmword [rbx], xmm14
movlps qword [rsp + 0xa0], xmm12
movaps xmmword [r15], xmm14
movsd qword [rsp + 0xd0], xmm10
movss xmm0, dword [0x18000e6e0]
addss xmm0, xmm8
movss dword [rsp + 0xc0], xmm1
movss dword [rsp + 0xc4], xmm0
movaps xmm0, xmmword [str._rLD_OBY_r]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x8c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0xd
inc rax
cmp rax, 0xe
jne 0x180004a89
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp word [rsp + 0x72], 0
je 0x180004adc
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004ab6
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
test eax, eax
je 0x180004adc
mov qword [rsp + 0xb0], r13
mov r8, qword [0x1800128e0]
mov rdx, qword [0x180012918]
mov qword [rsp + 0x68], rbx
xor eax, eax
mov byte [rsp + 0x60], al
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x130]
mov qword [rsp + 0x30], rax
lea r14, [rsp + 0xd0]
mov qword [rsp + 0x28], r14
lea rbp, [rsp + 0xc0]
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x38], 0x3f800000
lea rcx, [rsp + 0x128]
lea rsi, [rsp + 0xb0]
mov r9, rsi
call fcn.1800092d0
movss xmm0, dword [rsp + 0x94]
movss xmm1, dword [0x18000e700]
addss xmm1, xmm8
movaps xmm13, xmm9
addss xmm13, xmm6
ucomiss xmm1, xmm0
jbe 0x180004bcb
ucomiss xmm0, xmm15
jbe 0x180004bcb
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180004bcb
ucomiss xmm13, xmm0
jbe 0x180004bcb
mov rdx, qword [0x180012920]
lea r8, [0x18001219c]
lea rcx, [rsp + 0x70]
call fcn.18000aeb2
test al, al
je 0x180004bcb
mov dword [0x180012944], 0
movss xmm15, dword [0x18000e704]
addss xmm15, xmm8
jmp 0x180004beb
movss xmm15, dword [0x18000e704]
addss xmm15, xmm8
cmp dword [0x180012944], 1
jne 0x180004beb
movaps xmm0, xmmword [0x1800120e0]
jmp 0x180004bf2
movaps xmm0, xmmword [0x18000e380]
movaps xmm1, xmmword [0x18000e390]
movaps xmmword [rsp + 0x100], xmm1
lea rax, [rsp + 0x170]
movaps xmmword [rax], xmm0
movss xmm12, dword [0x18000e6b4]
addss xmm12, xmm15
mov rdx, qword [0x180012918]
movd r8d, xmm12
shl r8, 0x20
or r8, r12
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x425c0000
lea rdi, [rsp + 0x70]
mov rcx, rdi
movaps xmm3, xmm6
call fcn.180009628
movsd qword [rsp + 0xb0], xmm10
movaps xmm0, xmmword [0x18000e710]
movaps xmmword [rdi], xmm0
mov word [rdi + 0x10], 0xe
mov word [rdi + 0x20], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0xe
inc rax
cmp rax, 0x10
jne 0x180004c6f
mov word [rsp + 0x90], 0
xorps xmm10, xmm10
movaps xmmword [rsp + 0xe0], xmm10
cmp word [rsp + 0x72], 0
je 0x180004cc4
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004c9e
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
test eax, eax
je 0x180004cc4
mov qword [rsp + 0xe0], r13
mov r9, qword [0x1800128e0]
mov r8, qword [0x180012918]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0xa0]
lea rdi, [rsp + 0x128]
mov rdx, rdi
call fcn.1800091ae
movss xmm0, dword [rdi]
mulss xmm0, dword [0x18000e374]
addss xmm0, xmm11
movaps xmmword [rsp + 0xe0], xmm14
movlps qword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xb0], xmm14
movsd xmm10, qword [0x18000e6c0]
movsd qword [rsp + 0xc0], xmm10
movss xmm1, dword [0x18000e6e0]
addss xmm1, xmm15
movss dword [rsp + 0xf8], xmm0
movss dword [rsp + 0xfc], xmm1
movaps xmm0, xmmword [0x18000e720]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x80], 0x2a
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x2a
inc rax
cmp rax, 0x10
jne 0x180004d77
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
cmp word [rsp + 0x72], 0
je 0x180004dca
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004da4
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
test eax, eax
je 0x180004dca
mov qword [rsp + 0xa0], r13
mov r8, qword [0x1800128e0]
mov rdx, qword [0x180012918]
mov qword [rsp + 0x68], r15
xor eax, eax
mov byte [rsp + 0x60], al
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbp
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0x3f800000
lea rbx, [rsp + 0x110]
lea rdi, [rsp + 0xa0]
mov rcx, rbx
mov r9, rdi
call fcn.1800092d0
movss xmm0, dword [rsp + 0x94]
movss xmm1, dword [0x18000e700]
addss xmm1, xmm15
ucomiss xmm1, xmm0
jbe 0x180004e96
ucomiss xmm0, xmm12
jbe 0x180004e96
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180004e96
ucomiss xmm13, xmm0
jbe 0x180004e96
mov rdx, qword [0x180012920]
lea r8, [0x18001219c]
lea rcx, [rsp + 0x70]
call fcn.18000aeb2
test al, al
je 0x180004e96
mov dword [0x180012944], 1
addss xmm15, dword [0x18000e704]
jmp 0x180004eb1
addss xmm15, dword [0x18000e704]
cmp dword [0x180012944], 2
jne 0x180004eb1
movaps xmm0, xmmword [0x1800120e0]
jmp 0x180004eb8
movaps xmm0, xmmword [0x18000e380]
movaps xmm1, xmmword [0x18000e390]
movaps xmmword [rsp + 0xe0], xmm1
lea rax, [rsp + 0x160]
movaps xmmword [rax], xmm0
movss xmm12, dword [0x18000e6b4]
addss xmm12, xmm15
mov rdx, qword [0x180012918]
movd r8d, xmm12
shl r8, 0x20
or r8, r12
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x425c0000
lea r14, [rsp + 0x70]
mov rcx, r14
movaps xmm3, xmm6
call fcn.180009628
movsd qword [rsp + 0xa0], xmm10
movabs rax, 0xb001100150058
mov qword [r14], rax
mov dword [r14 + 8], 0x58001b
mov word [r14 + 0x14], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x58
inc rax
cmp rax, 0xa
jne 0x180004f3b
mov word [rsp + 0x84], 0
xorps xmm10, xmm10
movaps xmmword [rsp + 0xb0], xmm10
cmp word [rsp + 0x72], 0
je 0x180004f90
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004f6a
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
test eax, eax
je 0x180004f90
mov qword [rsp + 0xb0], r13
mov r9, qword [0x1800128e0]
mov r8, qword [0x180012918]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0xd0]
lea r14, [rsp + 0xf8]
mov rdx, r14
call fcn.1800091ae
movss xmm0, dword [r14]
mulss xmm0, dword [0x18000e374]
addss xmm0, xmm11
movaps xmmword [rsp + 0xb0], xmm14
movlps qword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xa0], xmm14
movsd xmm10, qword [0x18000e6c0]
movsd qword [rsp + 0x110], xmm10
movss xmm1, dword [0x18000e6e0]
addss xmm1, xmm15
movss dword [rsp + 0xf0], xmm0
movss dword [rsp + 0xf4], xmm1
movabs rax, 0x6d00770073003e
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x3e007d
mov word [rsp + 0x84], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x3e
inc rax
cmp rax, 0xa
jne 0x180005045
mov word [rsp + 0x84], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
cmp word [rsp + 0x72], 0
je 0x180005098
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180005072
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
test eax, eax
je 0x180005098
mov qword [rsp + 0xd0], r13
mov r8, qword [0x1800128e0]
mov rdx, qword [0x180012918]
mov qword [rsp + 0x68], rsi
xor eax, eax
mov byte [rsp + 0x60], al
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rbx
lea rbp, [rsp + 0xf0]
mov qword [rsp + 0x20], rbp
mov dword [rsp + 0x38], 0x3f800000
lea rbx, [rsp + 0x120]
lea r14, [rsp + 0xd0]
mov rcx, rbx
mov r9, r14
call fcn.1800092d0
movss xmm0, dword [rsp + 0x94]
movss xmm1, dword [0x18000e700]
addss xmm1, xmm15
ucomiss xmm1, xmm0
jbe 0x180005164
ucomiss xmm0, xmm12
jbe 0x180005164
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180005164
ucomiss xmm13, xmm0
jbe 0x180005164
mov rdx, qword [0x180012920]
lea r8, [0x18001219c]
lea rcx, [rsp + 0x70]
call fcn.18000aeb2
test al, al
je 0x180005164
mov dword [0x180012944], 2
addss xmm15, dword [0x18000e704]
jmp 0x18000517f
addss xmm15, dword [0x18000e704]
cmp dword [0x180012944], 3
jne 0x18000517f
movaps xmm0, xmmword [0x1800120e0]
jmp 0x180005183
movaps xmm0, xmm14
movaps xmm1, xmmword [0x18000e390]
movaps xmmword [rsp + 0xb0], xmm1
lea rax, [rsp + 0x150]
movaps xmmword [rax], xmm0
movss xmm12, dword [0x18000e6b4]
addss xmm12, xmm15
mov rdx, qword [0x180012918]
movd r8d, xmm12
shl r8, 0x20
or r8, r12
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x425c0000
lea r15, [rsp + 0x70]
mov rcx, r15
movaps xmm3, xmm6
call fcn.180009628
movsd qword [rsp + 0xd0], xmm10
movabs rax, 0x100004001d0051
mov qword [r15], rax
mov word [r15 + 8], 0x51
mov word [r15 + 0x10], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x51
inc rax
cmp rax, 8
jne 0x180005205
mov word [rsp + 0x80], 0
xorps xmm10, xmm10
movaps xmmword [rsp + 0xa0], xmm10
cmp word [rsp + 0x72], 0
je 0x18000525a
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180005234
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
test eax, eax
je 0x18000525a
mov qword [rsp + 0xa0], r13
mov r9, qword [0x1800128e0]
mov r8, qword [0x180012918]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0xc0]
lea r15, [rsp + 0x110]
mov rdx, r15
call fcn.1800091ae
movss xmm0, dword [r15]
mulss xmm0, dword [0x18000e374]
addss xmm11, xmm0
movaps xmmword [rsp + 0xa0], xmm14
movlps qword [rsp + 0xf0], xmm10
movaps xmmword [rsp + 0xd0], xmm14
movsd xmm0, qword [0x18000e6c0]
movsd qword [rsp + 0x120], xmm0
movss xmm0, dword [0x18000e6e0]
addss xmm0, xmm15
movss dword [rsp + 0x118], xmm11
movss dword [rsp + 0x11c], xmm0
movabs rax, 0xd00190000004c
mov qword [rsp + 0x70], rax
mov word [rsp + 0x78], 0x4c
mov word [rsp + 0x80], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x4c
inc rax
cmp rax, 8
jne 0x18000530d
mov word [rsp + 0x80], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
cmp word [rsp + 0x72], 0
je 0x180005360
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x18000533a
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
test eax, eax
je 0x180005360
mov qword [rsp + 0xc0], r13
mov r8, qword [0x1800128e0]
mov rdx, qword [0x180012918]
mov qword [rsp + 0x68], rdi
xor eax, eax
mov byte [rsp + 0x60], al
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0x3f800000
lea rcx, [rsp + 0x9f]
lea r9, [rsp + 0xc0]
call fcn.1800092d0
movss xmm0, dword [rsp + 0x94]
addss xmm15, dword [0x18000e700]
ucomiss xmm15, xmm0
jbe 0x180005418
ucomiss xmm0, xmm12
jbe 0x180005418
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180005418
ucomiss xmm13, xmm0
jbe 0x180005418
mov rdx, qword [0x180012920]
lea r8, [0x18001219c]
lea rcx, [rsp + 0x70]
call fcn.18000aeb2
test al, al
je 0x180005418
mov dword [0x180012944], 3
movd eax, xmm8
addss xmm6, dword [0x18000e2f0]
shl rax, 0x20
or rax, r12
mov qword [0x180012928], rax
movss dword [0x180012930], xmm6
mov dword [0x180012934], 0x438a8000
movlps qword [0x180012948], xmm7
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm11, xmmword [rsp + 0x1e0]
movaps xmm12, xmmword [rsp + 0x1f0]
movaps xmm13, xmmword [rsp + 0x200]
movaps xmm14, xmmword [rsp + 0x210]
movaps xmm15, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret