Function at 0x1800071dc
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
movaps xmmword [rsp + 0x2f0], xmm15
movaps xmmword [rsp + 0x2e0], xmm14
movaps xmmword [rsp + 0x2d0], xmm13
movaps xmmword [rsp + 0x2c0], xmm12
movaps xmmword [rsp + 0x2b0], xmm11
movaps xmmword [rsp + 0x2a0], xmm10
movaps xmmword [rsp + 0x290], xmm9
movaps xmmword [rsp + 0x280], xmm8
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm6
movss xmm6, dword [0x180019020]
addss xmm6, dword [0x1800157d4]
addss xmm6, dword [0x1800157d8]
divss xmm6, dword [0x1800157dc]
addss xmm6, dword [0x18001565c]
movapd xmm0, xmmword [section..data]
addpd xmm0, xmmword [0x1800157e0]
movapd xmm8, xmmword [0x1800157f0]
movapd xmmword [rsp + 0x180], xmm0
addpd xmm8, xmm0
movapd xmmword [rsp + 0x1c0], xmm8
xorpd xmm0, xmm0
movhpd xmm0, qword [0x180015800]
movapd xmmword [rsp + 0x100], xmm0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x6c]
call fcn.18001023c
cmp dword [0x180019e5c], 0
je 0x1800072e1
movaps xmm0, xmmword [0x1800156d0]
xorps xmm1, xmm1
jmp 0x1800072f0
movaps xmm0, xmmword [0x180019010]
movss xmm1, dword [0x1800155f8]
movaps xmm10, xmmword [0x180015600]
movaps xmm2, xmm10
movss xmm2, xmm1
shufps xmm2, xmm2, 0x40
movaps xmmword [rsp + 0x1b0], xmm2
lea rax, [rsp + 0x210]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x200]
movapd xmmword [rdx], xmm8
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x90]
movss xmm3, dword [0x180015808]
movaps xmm2, xmm6
call fcn.18000df32
movaps xmm15, xmmword [0x180015790]
movaps xmmword [rsp + 0x1a0], xmm15
lea rsi, [rsp + 0x92]
movaps xmm0, xmmword [0x180015810]
movaps xmmword [rsi - 2], xmm0
mov word [rsi + 0x1a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x43
inc rax
cmp rax, 0xe
jne 0x180007370
mov word [rsp + 0xac], 0
xorps xmm9, xmm9
movaps xmmword [rsp + 0x130], xmm9
cmp word [rsp + 0x92], 0
je 0x1800073c5
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0x138], eax
mov dword [rsp + 0x13c], eax
je 0x1800073c5
mov qword [rsp + 0x130], rsi
mov r8, qword [0x180019d28]
lea r13, [rsp + 0x1a0]
mov qword [rsp + 0x20], r13
lea rdi, [rsp + 0x160]
lea r14, [rsp + 0x250]
lea rbx, [rsp + 0x130]
mov rcx, rdi
mov rdx, r14
mov r9, rbx
call fcn.1800125c6
movss xmm0, dword [0x180015820]
mulss xmm0, xmm6
cvtss2sd xmm11, xmm0
movapd xmm0, xmm8
addsd xmm0, xmm11
movsd xmm1, qword [r14]
mulsd xmm1, qword [0x1800156b8]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movaps xmm12, xmmword [0x1800156c0]
movaps xmmword [r13], xmm12
movaps xmmword [rbx], xmm9
movaps xmmword [rdi], xmm12
movapd xmm14, xmm8
unpckhpd xmm14, xmm8
movapd xmm13, xmm14
addsd xmm13, qword [0x180015828]
movaps xmmword [rsp + 0xf0], xmm15
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x120], xmm0
movsd qword [rsp + 0x128], xmm13
movaps xmm0, xmmword [0x180015830]
movaps xmmword [rsp + 0x90], xmm0
mov word [rsp + 0xac], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x4a
inc rax
cmp rax, 0xe
jne 0x18000749d
mov word [rsp + 0xac], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
cmp word [rsp + 0x92], 0
je 0x1800074f0
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x1800074f0
mov qword [rsp + 0x80], rsi
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], r13
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], rdi
movabs rbp, 0x3ff0000000000000
mov qword [rsp + 0x30], rbp
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xe0]
lea r14, [rsp + 0x80]
lea r9, [rsp + 0x120]
mov r8, r14
call fcn.1800126c2
movss xmm1, dword [rsp + 0x6c]
movss xmm0, dword [rsp + 0x70]
cvtss2sd xmm9, xmm6
cvtsd2ss xmm2, xmm14
movss dword [rsp + 0x68], xmm2
movapd xmm2, xmmword [0x180015840]
movsd xmm2, xmm9
movapd xmm3, xmm8
addpd xmm3, xmm2
cvtpd2ps xmm3, xmm3
movaps xmm2, xmm0
unpcklps xmm2, xmm1
movapd xmm7, xmm3
cmpltps xmm2, xmm3
unpcklps xmm2, xmm2
movmskpd eax, xmm2
test al, 2
je 0x18000760c
ucomiss xmm1, dword [rsp + 0x68]
jbe 0x18000760c
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x18000760c
test al, 1
je 0x18000760c
lea rdx, [0x1800191a8]
lea rcx, [rsp + 0x90]
call fcn.18000ff58
test al, al
je 0x18000760c
mov dword [0x180019e5c], 0
movss xmm0, dword [0x180015850]
addss xmm0, xmm6
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x100], xmm0
movsd qword [rsp + 0x78], xmm0
addsd xmm8, xmm0
jmp 0x18000764c
mov eax, dword [0x180019e5c]
movss xmm0, dword [0x180015850]
addss xmm0, xmm6
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x100], xmm0
movsd qword [rsp + 0x78], xmm0
addsd xmm8, xmm0
cmp eax, 1
jne 0x18000764c
movaps xmm0, xmmword [0x180019010]
movss xmm1, dword [0x1800155f8]
jmp 0x180007656
movaps xmm0, xmmword [0x1800156d0]
xorps xmm1, xmm1
movaps xmm2, xmm10
movss xmm2, xmm1
shufps xmm2, xmm2, 0x40
movaps xmmword [rsp + 0x1a0], xmm2
lea rax, [rsp + 0x1f0]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x240]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x90]
movss xmm3, dword [0x180015808]
mov rcx, rbx
movaps xmm2, xmm6
call fcn.18000df32
movaps xmmword [rsp + 0x160], xmm15
movaps xmm0, xmmword [str.cy]
movaps xmmword [rbx], xmm0
mov word [rbx + 0x10], 0x2a
mov word [rbx + 0x20], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x2a
inc rax
cmp rax, 0x10
jne 0x1800076cc
mov word [rsp + 0xb0], 0
xorps xmm15, xmm15
movaps xmmword [rsp + 0xf0], xmm15
cmp word [rsp + 0x92], 0
je 0x180007721
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], eax
je 0x180007721
mov qword [rsp + 0xf0], rsi
mov r8, qword [0x180019d28]
mov qword [rsp + 0x20], rdi
lea rbx, [rsp + 0x120]
lea r12, [rsp + 0x130]
lea r15, [rsp + 0xf0]
mov rcx, rbx
mov rdx, r12
mov r9, r15
call fcn.1800125c6
movapd xmm0, xmm8
movsd xmm1, qword [r12]
mulsd xmm1, qword [0x1800156b8]
addsd xmm0, xmm11
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movaps xmmword [rsp + 0x160], xmm12
movaps xmmword [r15], xmm15
movaps xmmword [rbx], xmm12
movaps xmm1, xmmword [0x180015790]
movaps xmmword [rsp + 0x80], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0xe0], xmm0
movsd qword [rsp + 0xe8], xmm13
movaps xmm0, xmmword [0x180015870]
movaps xmmword [rsp + 0x90], xmm0
mov word [rsp + 0xa0], 0x63
mov word [rsp + 0xb0], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x63
inc rax
cmp rax, 0x10
jne 0x1800077d5
mov word [rsp + 0xb0], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
cmp word [rsp + 0x92], 0
je 0x180007828
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
je 0x180007828
mov qword [rsp + 0xd0], rsi
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], rdi
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 + 0x30], rbp
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x150]
lea r15, [rsp + 0xd0]
lea r9, [rsp + 0xe0]
mov r8, r15
call fcn.1800126c2
movss xmm0, dword [rsp + 0x6c]
shufps xmm7, xmm7, 0x55
movaps xmmword [rsp + 0x190], xmm7
ucomiss xmm7, xmm0
jbe 0x180007902
ucomiss xmm0, dword [rsp + 0x68]
jbe 0x180007902
movss xmm0, dword [rsp + 0x70]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x180007902
movapd xmm1, xmm8
addsd xmm1, xmm9
cvtsd2ss xmm1, xmm1
ucomiss xmm1, xmm0
jbe 0x180007902
lea rdx, [0x1800191a8]
lea rcx, [rsp + 0x90]
call fcn.18000ff58
test al, al
je 0x180007902
mov dword [0x180019e5c], 1
movsd xmm0, qword [rsp + 0x78]
movapd xmm15, xmm0
addsd xmm15, xmm0
movsd qword [rsp + 0x100], xmm15
addsd xmm8, xmm0
jmp 0x18000793d
mov eax, dword [0x180019e5c]
movsd xmm0, qword [rsp + 0x78]
movapd xmm15, xmm0
addsd xmm15, xmm0
movsd qword [rsp + 0x100], xmm15
addsd xmm8, xmm0
cmp eax, 2
jne 0x18000793d
movaps xmm0, xmmword [0x180019010]
movss xmm1, dword [0x1800155f8]
jmp 0x180007947
movaps xmm0, xmmword [0x1800156d0]
xorps xmm1, xmm1
movaps xmm2, xmm10
movss xmm2, xmm1
shufps xmm2, xmm2, 0x40
movaps xmmword [rsp + 0x160], xmm2
lea rax, [rsp + 0x1e0]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x230]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0x90]
movss xmm3, dword [0x180015808]
mov rcx, r14
movaps xmm2, xmm6
call fcn.18000df32
movaps xmm0, xmmword [0x180015790]
movaps xmmword [rsp + 0x120], xmm0
movabs rax, 0x4b005100550018
mov qword [r14], rax
mov dword [r14 + 8], 0x18005b
mov word [r14 + 0x14], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x18
inc rax
cmp rax, 0xa
jne 0x1800079c9
mov word [rsp + 0xa4], 0
xorps xmm7, xmm7
movaps xmmword [rsp + 0x80], xmm7
cmp word [rsp + 0x92], 0
je 0x180007a1c
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180007a1c
mov qword [rsp + 0x80], rsi
mov r8, qword [0x180019d28]
mov qword [rsp + 0x20], rbx
lea r14, [rsp + 0xe0]
lea r13, [rsp + 0xf0]
lea r12, [rsp + 0x80]
mov rcx, r14
mov rdx, r13
mov r9, r12
call fcn.1800125c6
movapd xmm0, xmm8
movsd xmm1, qword [r13]
mov r13, r14
mulsd xmm1, qword [0x1800156b8]
addsd xmm0, xmm11
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movaps xmm1, xmm12
movaps xmmword [rsp + 0x120], xmm12
movaps xmmword [r12], xmm7
movaps xmmword [r14], xmm12
movaps xmm7, xmmword [0x180015790]
movaps xmmword [rsp + 0xd0], xmm7
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x150], xmm0
movsd qword [rsp + 0x158], xmm13
movabs rax, 0x14000e000a0047
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x470004
mov word [rsp + 0xa4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x47
inc rax
cmp rax, 0xa
jne 0x180007adc
mov word [rsp + 0xa4], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
cmp word [rsp + 0x92], 0
je 0x180007b2f
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0x118], eax
mov dword [rsp + 0x11c], eax
je 0x180007b2f
mov qword [rsp + 0x110], rsi
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], rbx
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x170]
lea r8, [rsp + 0x110]
lea r9, [rsp + 0x150]
call fcn.1800126c2
movss xmm0, dword [rsp + 0x6c]
movaps xmm1, xmmword [rsp + 0x190]
ucomiss xmm1, xmm0
jbe 0x180007bfd
ucomiss xmm0, dword [rsp + 0x68]
jbe 0x180007bfd
movss xmm0, dword [rsp + 0x70]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x180007bfd
movapd xmm1, xmm8
addsd xmm1, xmm9
cvtsd2ss xmm1, xmm1
ucomiss xmm1, xmm0
jbe 0x180007bfd
lea rdx, [0x1800191a8]
lea rcx, [rsp + 0x90]
call fcn.18000ff58
test al, al
je 0x180007bfd
mov dword [0x180019e5c], 2
movsd xmm0, qword [rsp + 0x78]
addsd xmm15, xmm0
movsd qword [rsp + 0x100], xmm15
addsd xmm8, xmm0
jmp 0x180007c33
mov eax, dword [0x180019e5c]
movsd xmm0, qword [rsp + 0x78]
addsd xmm15, xmm0
movsd qword [rsp + 0x100], xmm15
addsd xmm8, xmm0
cmp eax, 3
jne 0x180007c33
movaps xmm0, xmmword [0x180019010]
movss xmm1, dword [0x1800155f8]
jmp 0x180007c3d
movaps xmm0, xmmword [0x1800156d0]
xorps xmm1, xmm1
movss xmm10, xmm1
shufps xmm10, xmm10, 0x40
movaps xmmword [rsp + 0x120], xmm10
lea rax, [rsp + 0x1d0]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x220]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0x90]
movss xmm3, dword [0x180015808]
mov rcx, r15
movaps xmm2, xmm6
call fcn.18000df32
movaps xmmword [rsp + 0xe0], xmm7
movaps xmm0, xmmword [0x180015880]
movaps xmmword [r15], xmm0
movaps xmm0, xmmword [0x180015890]
movaps xmmword [r15 + 0x10], xmm0
mov word [r15 + 0x3c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x28
inc rax
cmp rax, 0x1e
jne 0x180007cb9
mov rdi, rbp
mov word [rsp + 0xcc], 0
xorps xmm6, xmm6
movaps xmmword [rsp + 0xd0], xmm6
cmp word [rsp + 0x92], 0
je 0x180007d0f
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
je 0x180007d0f
mov qword [rsp + 0xd0], rsi
mov r8, qword [0x180019d28]
mov r14, r13
mov qword [rsp + 0x20], r13
lea r12, [rsp + 0x150]
lea rbp, [rsp + 0x80]
lea r13, [rsp + 0xd0]
mov rcx, r12
mov rdx, rbp
mov r9, r13
call fcn.1800125c6
addsd xmm11, xmm8
movsd xmm0, qword [rbp]
mulsd xmm0, qword [0x1800156b8]
addsd xmm0, xmm11
cvtsd2ss xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm12
movaps xmmword [r13], xmm6
movaps xmmword [r12], xmm12
movaps xmmword [rsp + 0x110], xmm7
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x170], xmm0
movsd qword [rsp + 0x178], xmm13
movaps xmm0, xmmword [0x1800158a0]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [0x1800158b0]
movaps xmmword [rsp + 0xa0], xmm0
mov word [rsp + 0xcc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x4e
inc rax
cmp rax, 0x1e
jne 0x180007dbe
mov word [rsp + 0xcc], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x140], xmm0
cmp word [rsp + 0x92], 0
je 0x180007e11
mov rcx, rsi
call fcn.180013e7b
inc eax
mov dword [rsp + 0x148], eax
mov dword [rsp + 0x14c], eax
je 0x180007e11
mov qword [rsp + 0x140], rsi
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], r14
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x77]
lea r8, [rsp + 0x140]
lea r9, [rsp + 0x170]
call fcn.1800126c2
movss xmm0, dword [rsp + 0x6c]
movaps xmm1, xmmword [rsp + 0x190]
ucomiss xmm1, xmm0
jbe 0x180007ed2
ucomiss xmm0, dword [rsp + 0x68]
jbe 0x180007ed2
movss xmm0, dword [rsp + 0x70]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x180007ed2
addsd xmm8, xmm9
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm1, xmm0
jbe 0x180007ed2
lea rdx, [0x1800191a8]
lea rcx, [rsp + 0x90]
call fcn.18000ff58
test al, al
movapd xmm6, xmmword [rsp + 0x180]
je 0x180007edb
mov dword [0x180019e5c], 3
jmp 0x180007edb
movapd xmm6, xmmword [rsp + 0x180]
addsd xmm15, qword [rsp + 0x78]
lea rsi, [rsp + 0x100]
movsd qword [rsi], xmm15
movaps xmm0, xmmword [0x1800158c0]
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0xe0]
lea rdi, [rsp + 0x1c0]
movss xmm3, dword [0x1800155f8]
mov rdx, rdi
mov r8, rsi
call fcn.1800124ca
movaps xmm0, xmmword [rdi]
movups xmmword [0x180019e30], xmm0
movaps xmm0, xmmword [rsi]
movups xmmword [0x180019e40], xmm0
movapd xmm0, xmm6
unpckhpd xmm0, xmm6
addsd xmm0, qword [0x1800158d0]
movlpd qword [0x180019e60], xmm6
movsd qword [0x180019e68], xmm0
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x280]
movaps xmm9, xmmword [rsp + 0x290]
movaps xmm10, xmmword [rsp + 0x2a0]
movaps xmm11, xmmword [rsp + 0x2b0]
movaps xmm12, xmmword [rsp + 0x2c0]
movaps xmm13, xmmword [rsp + 0x2d0]
movaps xmm14, xmmword [rsp + 0x2e0]
movaps xmm15, xmmword [rsp + 0x2f0]
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret