Function at 0x1800042a8
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movaps xmmword [rsp + 0x230], xmm15
movaps xmmword [rsp + 0x220], xmm14
movaps xmmword [rsp + 0x210], xmm13
movaps xmmword [rsp + 0x200], xmm12
movaps xmmword [rsp + 0x1f0], xmm11
movaps xmmword [rsp + 0x1e0], xmm10
movaps xmmword [rsp + 0x1d0], xmm9
movaps xmmword [rsp + 0x1c0], xmm8
movaps xmmword [rsp + 0x1b0], xmm7
movaps xmmword [rsp + 0x1a0], xmm6
movsd xmm7, qword [0x1800110d0]
addps xmm7, xmmword [0x18000d680]
movaps xmm8, xmm7
movss xmm6, dword [0x1800110f0]
addss xmm6, dword [0x18000d2a0]
divss xmm6, dword [0x18000d690]
shufps xmm8, xmm7, 0x55
addss xmm6, dword [0x18000d2f4]
movss xmm9, dword [0x18000d310]
addss xmm8, xmm9
addss xmm9, xmm7
movd esi, xmm9
mov rdx, qword [0x180011928]
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0x98]
lea r9, [rsp + 0x94]
call fcn.180009c98
cmp dword [0x180011954], 0
movaps xmmword [rsp + 0x130], xmm7
je 0x1800043a1
movaps xmm0, xmmword [0x18000d640]
xorps xmm1, xmm1
jmp 0x1800043b0
movaps xmm0, xmmword [0x1800110e0]
movss xmm1, dword [0x18000d3a0]
movaps xmm12, xmmword [0x18000d6a0]
movaps xmm2, xmm12
movss xmm2, xmm1
shufps xmm2, xmm2, 0x40
movaps xmmword [rsp + 0x140], xmm2
lea rax, [rsp + 0x190]
movaps xmmword [rax], xmm0
movss xmm15, dword [0x18000d6b0]
addss xmm15, xmm8
mov rdx, qword [0x180011920]
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.180008b22
movsd xmm7, qword [0x18000d6c0]
movsd qword [rsp + 0xe0], xmm7
lea r13, [rsp + 0x72]
movaps xmm0, xmmword [str.g.__3g]
movaps xmmword [r13 - 2], xmm0
mov word [r13 + 0x1a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x67
inc rax
cmp rax, 0xe
jne 0x180004443
mov word [rsp + 0x8c], 0
xorps xmm10, xmm10
movaps xmmword [rsp + 0x100], xmm10
cmp word [rsp + 0x72], 0
je 0x180004498
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004472
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
test eax, eax
je 0x180004498
mov qword [rsp + 0x100], r13
mov r9, qword [0x1800118e8]
mov r8, qword [0x180011920]
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 + 0x158]
mov rdx, rsi
call fcn.18000872a
movss xmm0, dword [0x18000d2f0]
movaps xmm11, xmm6
mulss xmm11, xmm0
mulss xmm0, dword [rsi]
addss xmm11, xmm9
movaps xmm1, xmm11
subss xmm1, xmm0
movaps xmm14, xmmword [0x18000d380]
movaps xmmword [rbx], xmm14
movlps qword [rsp + 0xa0], xmm10
movaps xmmword [r15], xmm14
movsd qword [rsp + 0xd0], xmm7
movss xmm0, dword [0x18000d6e0]
addss xmm0, xmm8
movss dword [rsp + 0xc0], xmm1
movss dword [rsp + 0xc4], xmm0
movaps xmm0, xmmword [str.3rzqg3]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x8c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x33
inc rax
cmp rax, 0xe
jne 0x180004556
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp word [rsp + 0x72], 0
je 0x1800045a9
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004583
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
test eax, eax
je 0x1800045a9
mov qword [rsp + 0xb0], r13
mov r8, qword [0x1800118e8]
mov rdx, qword [0x180011920]
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 + 0x140]
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.1800087ca
movss xmm0, dword [rsp + 0x94]
movss xmm1, dword [0x18000d700]
addss xmm1, xmm8
movaps xmm13, xmm9
addss xmm13, xmm6
ucomiss xmm1, xmm0
jbe 0x180004698
ucomiss xmm0, xmm15
jbe 0x180004698
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180004698
ucomiss xmm13, xmm0
jbe 0x180004698
mov rdx, qword [0x180011928]
lea r8, [0x180011198]
lea rcx, [rsp + 0x70]
call fcn.18000a3ac
test al, al
je 0x180004698
mov dword [0x180011954], 0
movss xmm15, dword [0x18000d704]
addss xmm15, xmm8
jmp 0x1800046c0
movss xmm15, dword [0x18000d704]
addss xmm15, xmm8
cmp dword [0x180011954], 1
jne 0x1800046c0
movaps xmm0, xmmword [0x1800110e0]
movss xmm1, dword [0x18000d3a0]
jmp 0x1800046ca
movaps xmm0, xmmword [0x18000d640]
xorps xmm1, xmm1
movaps xmm2, xmm12
movss xmm2, xmm1
shufps xmm2, xmm2, 0x40
movaps xmmword [rsp + 0x100], xmm2
lea rax, [rsp + 0x180]
movaps xmmword [rax], xmm0
movss xmm10, dword [0x18000d6b0]
addss xmm10, xmm15
mov rdx, qword [0x180011920]
movd r8d, xmm10
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.180008b22
movsd qword [rsp + 0xb0], xmm7
movaps xmm0, xmmword [0x18000d710]
movaps xmmword [rdi], xmm0
mov word [rdi + 0x10], 0x14
mov word [rdi + 0x20], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x14
inc rax
cmp rax, 0x10
jne 0x18000474b
mov word [rsp + 0x90], 0
xorps xmm7, xmm7
movaps xmmword [rsp + 0xe0], xmm7
cmp word [rsp + 0x72], 0
je 0x18000479e
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004778
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
test eax, eax
je 0x18000479e
mov qword [rsp + 0xe0], r13
mov r9, qword [0x1800118e8]
mov r8, qword [0x180011920]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0xa0]
lea rdi, [rsp + 0x128]
mov rdx, rdi
call fcn.18000872a
movss xmm0, dword [rdi]
mulss xmm0, dword [0x18000d374]
addss xmm0, xmm11
movaps xmmword [rsp + 0xe0], xmm14
movlps qword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xb0], xmm14
movsd xmm7, qword [0x18000d6c0]
movsd qword [rsp + 0xc0], xmm7
movss xmm1, dword [0x18000d6e0]
addss xmm1, xmm15
movss dword [rsp + 0xf8], xmm0
movss dword [rsp + 0xfc], xmm1
movaps xmm0, xmmword [0x18000d720]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x80], 0x57
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x57
inc rax
cmp rax, 0x10
jne 0x18000484e
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
cmp word [rsp + 0x72], 0
je 0x1800048a1
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x18000487b
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
test eax, eax
je 0x1800048a1
mov qword [rsp + 0xa0], r13
mov r8, qword [0x1800118e8]
mov rdx, qword [0x180011920]
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.1800087ca
movss xmm0, dword [rsp + 0x94]
movss xmm1, dword [0x18000d700]
addss xmm1, xmm15
ucomiss xmm1, xmm0
jbe 0x18000496d
ucomiss xmm0, xmm10
jbe 0x18000496d
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x18000496d
ucomiss xmm13, xmm0
jbe 0x18000496d
mov rdx, qword [0x180011928]
lea r8, [0x180011198]
lea rcx, [rsp + 0x70]
call fcn.18000a3ac
test al, al
je 0x18000496d
mov dword [0x180011954], 1
addss xmm15, dword [0x18000d704]
jmp 0x180004990
addss xmm15, dword [0x18000d704]
cmp dword [0x180011954], 2
jne 0x180004990
movaps xmm0, xmmword [0x1800110e0]
movss xmm1, dword [0x18000d3a0]
jmp 0x18000499a
movaps xmm0, xmmword [0x18000d640]
xorps xmm1, xmm1
movaps xmm2, xmm12
movss xmm2, xmm1
shufps xmm2, xmm2, 0x40
movaps xmmword [rsp + 0xe0], xmm2
lea rax, [rsp + 0x170]
movaps xmmword [rax], xmm0
movss xmm10, dword [0x18000d6b0]
addss xmm10, xmm15
mov rdx, qword [0x180011920]
movd r8d, xmm10
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.180008b22
movsd qword [rsp + 0xa0], xmm7
movabs rax, 0x30002a002e0063
mov qword [r14], rax
mov dword [r14 + 8], 0x630020
mov word [r14 + 0x14], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x63
inc rax
cmp rax, 0xa
jne 0x180004a21
mov word [rsp + 0x84], 0
xorps xmm7, xmm7
movaps xmmword [rsp + 0xb0], xmm7
cmp word [rsp + 0x72], 0
je 0x180004a74
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004a4e
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
test eax, eax
je 0x180004a74
mov qword [rsp + 0xb0], r13
mov r9, qword [0x1800118e8]
mov r8, qword [0x180011920]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0xd0]
lea r14, [rsp + 0xf8]
mov rdx, r14
call fcn.18000872a
movss xmm0, dword [r14]
mulss xmm0, dword [0x18000d374]
addss xmm0, xmm11
movaps xmmword [rsp + 0xb0], xmm14
movlps qword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xa0], xmm14
movsd xmm7, qword [0x18000d6c0]
movsd qword [rsp + 0x110], xmm7
movss xmm1, dword [0x18000d6e0]
addss xmm1, xmm15
movss dword [rsp + 0xf0], xmm0
movss dword [rsp + 0xf4], xmm1
movabs rax, 0x4900530057001a
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x1a0059
mov word [rsp + 0x84], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x1a
inc rax
cmp rax, 0xa
jne 0x180004b26
mov word [rsp + 0x84], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
cmp word [rsp + 0x72], 0
je 0x180004b79
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004b53
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
test eax, eax
je 0x180004b79
mov qword [rsp + 0xd0], r13
mov r8, qword [0x1800118e8]
mov rdx, qword [0x180011920]
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.1800087ca
movss xmm0, dword [rsp + 0x94]
movss xmm1, dword [0x18000d700]
addss xmm1, xmm15
ucomiss xmm1, xmm0
jbe 0x180004c45
ucomiss xmm0, xmm10
jbe 0x180004c45
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180004c45
ucomiss xmm13, xmm0
jbe 0x180004c45
mov rdx, qword [0x180011928]
lea r8, [0x180011198]
lea rcx, [rsp + 0x70]
call fcn.18000a3ac
test al, al
je 0x180004c45
mov dword [0x180011954], 2
addss xmm15, dword [0x18000d704]
jmp 0x180004c68
addss xmm15, dword [0x18000d704]
cmp dword [0x180011954], 3
jne 0x180004c68
movaps xmm0, xmmword [0x1800110e0]
movss xmm1, dword [0x18000d3a0]
jmp 0x180004c72
movaps xmm0, xmmword [0x18000d640]
xorps xmm1, xmm1
movss xmm12, xmm1
shufps xmm12, xmm12, 0x40
movaps xmmword [rsp + 0xb0], xmm12
lea rax, [rsp + 0x160]
movaps xmmword [rax], xmm0
movss xmm10, dword [0x18000d6b0]
addss xmm10, xmm15
mov rdx, qword [0x180011920]
movd r8d, xmm10
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.180008b22
movsd qword [rsp + 0xd0], xmm7
movaps xmm0, xmmword [str._aDHIAN_Tf______5]
movaps xmmword [r15], xmm0
mov word [r15 + 0x10], 7
mov word [r15 + 0x20], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 7
inc rax
cmp rax, 0x10
jne 0x180004cf5
mov word [rsp + 0x90], 0
xorps xmm7, xmm7
movaps xmmword [rsp + 0xa0], xmm7
cmp word [rsp + 0x72], 0
je 0x180004d48
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004d22
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
test eax, eax
je 0x180004d48
mov qword [rsp + 0xa0], r13
mov r9, qword [0x1800118e8]
mov r8, qword [0x180011920]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0xc0]
lea r15, [rsp + 0x110]
mov rdx, r15
call fcn.18000872a
movss xmm0, dword [r15]
mulss xmm0, dword [0x18000d374]
addss xmm11, xmm0
movaps xmmword [rsp + 0xa0], xmm14
movlps qword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xd0], xmm14
movsd xmm0, qword [0x18000d6c0]
movsd qword [rsp + 0x120], xmm0
movss xmm0, dword [0x18000d6e0]
addss xmm0, xmm15
movss dword [rsp + 0x118], xmm11
movss dword [rsp + 0x11c], xmm0
movaps xmm0, xmmword [0x18000d740]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x80], 0x66
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x66
inc rax
cmp rax, 0x10
jne 0x180004dfa
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
cmp word [rsp + 0x72], 0
je 0x180004e4d
xor eax, eax
cmp word [rsp + rax*2 + 0x72], 0
lea rax, [rax + 1]
jne 0x180004e27
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
test eax, eax
je 0x180004e4d
mov qword [rsp + 0xc0], r13
mov r8, qword [0x1800118e8]
mov rdx, qword [0x180011920]
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.1800087ca
movss xmm0, dword [rsp + 0x94]
addss xmm15, dword [0x18000d700]
ucomiss xmm15, xmm0
jbe 0x180004f0f
ucomiss xmm0, xmm10
jbe 0x180004f0f
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, xmm9
jbe 0x180004f0f
ucomiss xmm13, xmm0
jbe 0x180004f0f
mov rdx, qword [0x180011928]
lea r8, [0x180011198]
lea rcx, [rsp + 0x70]
call fcn.18000a3ac
test al, al
movaps xmm0, xmmword [rsp + 0x130]
je 0x180004f17
mov dword [0x180011954], 3
jmp 0x180004f17
movaps xmm0, xmmword [rsp + 0x130]
movd eax, xmm8
addss xmm6, dword [0x18000d310]
shl rax, 0x20
or rax, r12
mov qword [0x180011938], rax
movss dword [0x180011940], xmm6
mov dword [0x180011944], 0x438a8000
movlps qword [0x180011958], xmm0
movaps xmm6, xmmword [rsp + 0x1a0]
movaps xmm7, xmmword [rsp + 0x1b0]
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm9, xmmword [rsp + 0x1d0]
movaps xmm10, xmmword [rsp + 0x1e0]
movaps xmm11, xmmword [rsp + 0x1f0]
movaps xmm12, xmmword [rsp + 0x200]
movaps xmm13, xmmword [rsp + 0x210]
movaps xmm14, xmmword [rsp + 0x220]
movaps xmm15, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret