Function at 0x1800057a2
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm15
movaps xmmword [rsp + 0x270], xmm14
movaps xmmword [rsp + 0x260], xmm13
movaps xmmword [rsp + 0x250], xmm12
movaps xmmword [rsp + 0x240], xmm11
movaps xmmword [rsp + 0x230], xmm10
movaps xmmword [rsp + 0x220], xmm9
movaps xmmword [rsp + 0x210], xmm8
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm6
movss xmm6, dword [0x1800110f0]
addss xmm6, dword [0x18000e774]
divss xmm6, dword [0x18000e778]
addss xmm6, dword [0x18000e710]
movapd xmm7, xmmword [0x1800110d0]
addpd xmm7, xmmword [0x18000e780]
movapd xmm8, xmmword [0x18000e790]
addpd xmm8, xmm7
movapd xmmword [rsp + 0x170], xmm8
xorps xmm0, xmm0
movhps xmm0, qword [0x18000e7a0]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [0x180011e30]
lea rdx, [rsp + 0x9c]
lea r8, [rsp + 0x98]
call fcn.18000a552
cmp dword [0x1800120cc], 0
je 0x180005895
movaps xmm0, xmmword [0x18000e0d0]
jmp 0x18000589c
movaps xmm0, xmmword [0x1800110e0]
movaps xmm1, xmmword [0x18000e730]
movaps xmmword [rsp + 0x160], xmm1
lea rax, [rsp + 0x1b0]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x1a0]
movapd xmmword [rdx], xmm8
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
movss xmm3, dword [0x18000e7a8]
movaps xmm2, xmm6
call fcn.180001a8c
mov rcx, qword [0x180011e28]
movaps xmm0, xmmword [0x18000e7b0]
movaps xmmword [rsp + 0x140], xmm0
lea r13, [rsp + 0x72]
movaps xmm0, xmmword [str.s2:_1_s]
movaps xmmword [r13 - 2], xmm0
mov word [r13 + 0x1a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x73
inc rax
cmp rax, 0xe
jne 0x180005910
mov word [rsp + 0x8c], 0
xorps xmm9, xmm9
movaps xmmword [rsp + 0xe0], xmm9
cmp word [rsp + 0x72], 0
je 0x180005965
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x18000593f
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
test eax, eax
je 0x180005965
mov qword [rsp + 0xe0], r13
mov r8, qword [0x1800120e8]
lea r15, [rsp + 0x140]
mov qword [rsp + 0x20], r15
lea rdi, [rsp + 0x1e0]
lea rsi, [rsp + 0xe0]
mov rdx, rdi
mov r9, rsi
call fcn.180009d70
movss xmm0, dword [0x18000e120]
mulss xmm0, xmm6
cvtss2sd xmm10, xmm0
movapd xmm0, xmm8
addsd xmm0, xmm10
movsd xmm1, qword [rdi]
mulsd xmm1, qword [0x18000e7d0]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
mov rcx, qword [0x180011e28]
movaps xmm13, xmmword [0x18000e720]
movaps xmmword [r15], xmm13
movaps xmmword [rsi], xmm9
movaps xmmword [rsp + 0x110], xmm13
movapd xmm14, xmm8
unpckhpd xmm14, xmm8
movapd xmm12, xmm14
addsd xmm12, qword [0x18000e7d8]
movaps xmm1, xmmword [0x18000e7b0]
movaps xmmword [rsp + 0xb0], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0xd0], xmm0
movsd qword [rsp + 0xd8], xmm12
movaps xmm0, xmmword [str._iaejg_]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x8c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x28
inc rax
cmp rax, 0xe
jne 0x180005a3f
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
cmp word [rsp + 0x72], 0
je 0x180005a92
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180005a6c
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
test eax, eax
je 0x180005a92
mov qword [rsp + 0xa0], r13
mov rdx, qword [0x1800120e8]
mov qword [rsp + 0x60], r15
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rsi
lea rbp, [rsp + 0x110]
mov qword [rsp + 0x38], rbp
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0x3f800000
lea rdi, [rsp + 0xa0]
lea rsi, [rsp + 0xd0]
mov r8, rdi
mov r9, rsi
call fcn.180009e98
movss xmm1, dword [rsp + 0x98]
movss xmm0, dword [rsp + 0x9c]
cvtss2sd xmm3, xmm6
cvtsd2ss xmm2, xmm14
movss dword [rsp + 0x94], xmm2
movapd xmm2, xmmword [0x18000e7f0]
movaps xmmword [rsp + 0x130], xmm3
movsd xmm2, xmm3
movapd xmm3, xmm8
addpd xmm3, xmm2
cvtpd2ps xmm11, xmm3
movaps xmm2, xmm0
unpcklps xmm2, xmm1
cmpltps xmm2, xmm11
unpcklps xmm2, xmm2
movmskpd eax, xmm2
test al, 2
je 0x180005bb5
ucomiss xmm1, dword [rsp + 0x94]
jbe 0x180005bb5
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x180005bb5
test al, 1
je 0x180005bb5
mov rcx, qword [0x180011e30]
lea rdx, [0x180011298]
call fcn.18000a246
test al, al
je 0x180005bb5
mov dword [0x1800120cc], 0
movss xmm0, dword [0x18000e160]
addss xmm0, xmm6
cvtss2sd xmm15, xmm0
movsd qword [rsp + 0xf0], xmm15
addsd xmm8, xmm15
jmp 0x180005be9
mov eax, dword [0x1800120cc]
movss xmm0, dword [0x18000e160]
addss xmm0, xmm6
cvtss2sd xmm15, xmm0
movsd qword [rsp + 0xf0], xmm15
addsd xmm8, xmm15
cmp eax, 1
jne 0x180005be9
movaps xmm0, xmmword [0x1800110e0]
jmp 0x180005bf0
movaps xmm0, xmmword [0x18000e0d0]
movaps xmm1, xmmword [0x18000e730]
movaps xmmword [rsp + 0x140], xmm1
lea rax, [rsp + 0x190]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x1d0]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x70]
movss xmm3, dword [0x18000e7a8]
mov rcx, rbx
movaps xmm2, xmm6
call fcn.180001a8c
mov rcx, qword [0x180011e28]
movaps xmm0, xmmword [0x18000e7b0]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [str.k_8_8_b]
movaps xmmword [rbx], xmm0
mov word [rbx + 0x10], 0x6b
mov word [rbx + 0x20], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x6b
inc rax
cmp rax, 0x10
jne 0x180005c6b
mov word [rsp + 0x90], 0
xorps xmm9, xmm9
movaps xmmword [rsp + 0xb0], xmm9
cmp word [rsp + 0x72], 0
je 0x180005cc0
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180005c9a
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
test eax, eax
je 0x180005cc0
mov qword [rsp + 0xb0], r13
mov r8, qword [0x1800120e8]
mov qword [rsp + 0x20], rbp
lea r14, [rsp + 0xe0]
lea rbx, [rsp + 0xb0]
mov rdx, r14
mov r9, rbx
call fcn.180009d70
movapd xmm0, xmm8
addsd xmm0, xmm10
movsd xmm1, qword [r14]
mulsd xmm1, qword [0x18000e7d0]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
mov rcx, qword [0x180011e28]
movaps xmmword [rsp + 0x110], xmm13
movaps xmmword [rbx], xmm9
movaps xmmword [rsp + 0xd0], xmm13
movaps xmm1, xmmword [0x18000e7b0]
movaps xmmword [rsp + 0xa0], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x120], xmm0
movsd qword [rsp + 0x128], xmm12
movaps xmm0, xmmword [0x18000e810]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x80], 0x5e
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x5e
inc rax
cmp rax, 0x10
jne 0x180005d71
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
cmp word [rsp + 0x72], 0
je 0x180005dc4
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180005d9e
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
test eax, eax
je 0x180005dc4
mov qword [rsp + 0xc0], r13
mov rdx, qword [0x1800120e8]
mov qword [rsp + 0x60], rbp
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x30], 0x3f800000
lea rdi, [rsp + 0xc0]
lea rbx, [rsp + 0x120]
mov r8, rdi
mov r9, rbx
call fcn.180009e98
movss xmm0, dword [rsp + 0x98]
shufps xmm11, xmm11, 0x55
ucomiss xmm11, xmm0
jbe 0x180005e9c
ucomiss xmm0, dword [rsp + 0x94]
jbe 0x180005e9c
movss xmm0, dword [rsp + 0x9c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x180005e9c
movapd xmm1, xmm8
addsd xmm1, qword [rsp + 0x130]
cvtsd2ss xmm1, xmm1
ucomiss xmm1, xmm0
jbe 0x180005e9c
mov rcx, qword [0x180011e30]
lea rdx, [0x180011298]
call fcn.18000a246
test al, al
je 0x180005e9c
mov dword [0x1800120cc], 1
movapd xmm9, xmm15
addsd xmm9, xmm15
movsd qword [rsp + 0xf0], xmm9
addsd xmm8, xmm15
jmp 0x180005ec9
mov eax, dword [0x1800120cc]
movapd xmm9, xmm15
addsd xmm9, xmm15
movsd qword [rsp + 0xf0], xmm9
addsd xmm8, xmm15
cmp eax, 2
jne 0x180005ec9
movaps xmm0, xmmword [0x1800110e0]
jmp 0x180005ed0
movaps xmm0, xmmword [0x18000e0d0]
movaps xmm1, xmmword [0x18000e730]
movaps xmmword [rsp + 0x110], xmm1
lea rax, [rsp + 0x180]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x1c0]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0x70]
movss xmm3, dword [0x18000e7a8]
mov rcx, r14
movaps xmm2, xmm6
call fcn.180001a8c
mov rcx, qword [0x180011e28]
movaps xmm0, xmmword [0x18000e7b0]
movaps xmmword [rsp + 0xd0], xmm0
movabs rax, 0x6d00770073003e
mov qword [r14], rax
mov dword [r14 + 8], 0x3e007d
mov word [r14 + 0x14], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x3e
inc rax
cmp rax, 0xa
jne 0x180005f51
mov word [rsp + 0x84], 0
xorps xmm6, xmm6
movaps xmmword [rsp + 0xa0], xmm6
cmp word [rsp + 0x72], 0
je 0x180005fa4
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180005f7e
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
test eax, eax
je 0x180005fa4
mov qword [rsp + 0xa0], r13
mov r8, qword [0x1800120e8]
mov qword [rsp + 0x20], rsi
lea r12, [rsp + 0xb0]
lea r15, [rsp + 0xa0]
mov rdx, r12
mov r9, r15
call fcn.180009d70
addsd xmm10, xmm8
movsd xmm0, qword [r12]
mulsd xmm0, qword [0x18000e7d0]
addsd xmm0, xmm10
cvtsd2ss xmm0, xmm0
mov rcx, qword [0x180011e28]
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [r15], xmm6
movaps xmmword [rsp + 0x120], xmm13
movaps xmm1, xmmword [0x18000e7b0]
movaps xmmword [rsp + 0xc0], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x150], xmm0
movsd qword [rsp + 0x158], xmm12
movabs rax, 0x3a002000240069
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x69002a
mov word [rsp + 0x84], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x69
inc rax
cmp rax, 0xa
jne 0x180006050
mov word [rsp + 0x84], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
cmp word [rsp + 0x72], 0
je 0x1800060a3
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x18000607d
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
test eax, eax
je 0x1800060a3
mov qword [rsp + 0x100], r13
mov rdx, qword [0x1800120e8]
mov qword [rsp + 0x60], rsi
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x30], 0x3f800000
lea r8, [rsp + 0x100]
lea r9, [rsp + 0x150]
call fcn.180009e98
movss xmm0, dword [rsp + 0x98]
ucomiss xmm11, xmm0
jbe 0x180006155
ucomiss xmm0, dword [rsp + 0x94]
jbe 0x180006155
movss xmm0, dword [rsp + 0x9c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x180006155
addsd xmm8, qword [rsp + 0x130]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm1, xmm0
jbe 0x180006155
mov rcx, qword [0x180011e30]
lea rdx, [0x180011298]
call fcn.18000a246
test al, al
je 0x180006155
mov dword [0x1800120cc], 2
addsd xmm9, xmm15
lea rsi, [rsp + 0xf0]
movsd qword [rsi], xmm9
mov rcx, qword [0x180011e28]
movaps xmm0, xmmword [0x18000e700]
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x20], r14
lea rdi, [rsp + 0x170]
movss xmm3, dword [0x18000e124]
mov rdx, rdi
mov r8, rsi
call fcn.180009a50
movaps xmm0, xmmword [rdi]
movups xmmword [0x1800120a0], xmm0
movaps xmm0, xmmword [rsi]
movups xmmword [0x1800120b0], xmm0
movapd xmm0, xmm7
unpckhpd xmm0, xmm7
addsd xmm0, qword [0x18000e820]
movlpd qword [0x1800120d0], xmm7
movsd qword [0x1800120d8], xmm0
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm12, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret