Function at 0x18000bd78
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movapd xmmword [rsp + 0x250], xmm15
movapd xmmword [rsp + 0x240], xmm14
movapd xmmword [rsp + 0x230], xmm13
movaps xmmword [rsp + 0x220], xmm12
movapd xmmword [rsp + 0x210], xmm11
movapd xmmword [rsp + 0x200], xmm10
movapd xmmword [rsp + 0x1f0], xmm9
movaps xmmword [rsp + 0x1e0], xmm8
movapd xmmword [rsp + 0x1d0], xmm7
movapd xmmword [rsp + 0x1c0], xmm6
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x1b0], xmm0
movapd xmmword [rsp + 0x1a0], xmm0
movapd xmmword [rsp + 0x190], xmm0
movapd xmmword [rsp + 0x180], xmm0
cmp byte [0x1800190d8], 0
je 0x18000be38
mov rdx, qword [0x180019d40]
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x1b0]
call fcn.18000fc88
cmp byte [0x1800190da], 0
je 0x18000be5d
mov rdx, qword [0x180019d48]
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x1a0]
call fcn.18000fc88
mov al, byte [0x1800190d9]
or al, byte [0x1800190dc]
je 0x18000be87
mov rdx, qword [0x180019d50]
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x190]
call fcn.18000fc88
cmp byte [0x1800190db], 0
je 0x18000beac
mov rdx, qword [0x180019d58]
lea rcx, [rsp + 0xa0]
lea r8, [rsp + 0x180]
call fcn.18000fc88
cmp byte [0x1800190c0], 0
je 0x18000db69
mov al, byte [0x1800190d9]
or al, byte [0x1800190dc]
je 0x18000c7ce
cmp dword [rsp + 0x198], 0
jle 0x18000c7ce
lea r14, [rsp + 0xa0]
lea r15, [rsp + 0x150]
lea rbx, [0x180019e70]
movsd xmm7, qword [0x1800155e8]
lea r13, [rsp + 0x80]
xorps xmm8, xmm8
lea rbp, [rsp + 0x100]
xorpd xmm9, xmm9
movapd xmm10, xmmword [0x1800164b0]
movsd xmm11, qword [0x1800156b8]
movaps xmm12, xmmword [0x1800156c0]
movapd xmm14, xmmword [0x1800164d0]
xor r12d, r12d
mov rax, qword [rsp + 0x190]
mov rsi, qword [rax + r12*8]
test rsi, rsi
je 0x18000c7ba
mov word [rsp + 0xa0], 0
lea rdx, [rsi + 0xd92]
mov rcx, r14
call fcn.180006996
test al, 4
jne 0x18000c7ba
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.1800105e8
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.180013136
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800190d0]
ucomisd xmm6, xmm0
ja 0x18000c7ba
mov rcx, r13
mov rdx, r14
mov r8, rsi
call fcn.1800129f8
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x18000c7b3
movabs rax, 0xb0006002d006e
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x1a001d
mov word [rsp + 0xac], 0x6e
mov word [rsp + 0xb8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x6e
inc rax
cmp rax, 0xc
jne 0x18000bffb
mov word [rsp + 0xb8], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000c059
lea rcx, [rsp + 0xa2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000c059
lea rax, [rsp + 0xa2]
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000c07e
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000c07e
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rbp
lea rdx, [rsp + 0x70]
mov r8, r13
xor r9d, r9d
call fcn.1800136b4
mov esi, eax
movabs rax, 0x2e002e00020043
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x43002c
mov word [rsp + 0xb4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x43
inc rax
cmp rax, 0xa
jne 0x18000c0c4
mov word [rsp + 0xb4], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000c122
lea rcx, [rsp + 0xa2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000c122
lea rax, [rsp + 0xa2]
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000c147
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000c147
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rbp
lea rdx, [rsp + 0x70]
mov r8, r13
xor r9d, r9d
call fcn.1800136b4
cmp byte [0x1800190d9], 0
mov ebx, eax
sete al
xor sil, 1
or sil, al
jne 0x18000c496
movabs rax, 0x63003e000e0063
mov qword [rsp + 0xf0], rax
mov word [rsp + 0xfc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xf0], 0x63
inc rax
cmp rax, 6
jne 0x18000c199
mov word [rsp + 0xfc], 0
movaps xmmword [rsp + 0xa0], xmm8
cmp word [rsp + 0xf2], 0
je 0x18000c1f7
lea rcx, [rsp + 0xf2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000c1f7
lea rax, [rsp + 0xf2]
mov qword [rsp + 0xa0], rax
movabs rax, 0x2a0071000a002a
mov qword [rsp + 0x90], rax
mov word [rsp + 0x9c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x2a
inc rax
cmp rax, 6
jne 0x18000c218
mov word [rsp + 0x9c], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x18000c26a
lea rcx, [rsp + 0x92]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000c26a
lea rax, [rsp + 0x92]
mov qword [rsp + 0x70], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0x100], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xe0]
mov rdx, r13
mov r8, rbp
lea r9, [rsp + 0x70]
call fcn.180013584
movabs rax, 0x7d0070005b0018
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x6c006b
mov word [rsp + 0xac], 0x18
mov word [rsp + 0xb8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x18
inc rax
cmp rax, 0xc
jne 0x18000c2ce
mov word [rsp + 0xb8], 0
movaps xmmword [rsp + 0x100], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000c32c
lea rcx, [rsp + 0xa2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000c32c
lea rax, [rsp + 0xa2]
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x70]
mov r8, rbp
mov r9, r13
call fcn.180013482
mov rcx, rbp
mov rdx, r14
mov r8, r15
call fcn.1800122d4
movsd xmm13, qword [rsp + 0xa0]
ucomisd xmm13, xmm9
jb 0x18000c496
movsd xmm15, qword [rsp + 0xa8]
ucomisd xmm15, xmm9
jb 0x18000c496
movsd xmm0, qword [rsp + 0xb0]
ucomisd xmm0, xmm9
jbe 0x18000c496
movapd xmmword [rsp + 0x100], xmm10
mov r8, qword [0x180019d28]
mov qword [rsp + 0x20], rbp
mov rdi, r15
mov r15, r13
lea r13, [rsp + 0xf0]
mov rcx, r13
mov rdx, r14
lea rsi, [rsp + 0x70]
mov r9, rsi
call fcn.1800125c6
movsd xmm0, qword [rsp + 0xa0]
mulsd xmm0, xmm11
addsd xmm13, xmm0
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0x90], xmm12
movaps xmm0, xmmword [0x1800164c0]
movaps xmmword [rsp + 0xe0], xmm0
movapd xmmword [rsp + 0x120], xmm10
movsd qword [rsp + 0x140], xmm13
movsd qword [rsp + 0x148], xmm15
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], rbp
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r13
mov r13, r15
mov r15, rdi
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
movabs rax, 0x3ff0000000000000
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
lea rcx, [rsp + 0x170]
mov r8, rsi
lea r9, [rsp + 0x140]
call fcn.1800126c2
cmp byte [0x1800190dc], 0
sete al
xor bl, 1
or bl, al
lea rbx, [0x180019e70]
jne 0x18000c7ba
movabs rax, 0x4e00130023004e
mov qword [rsp + 0xf0], rax
mov word [rsp + 0xfc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xf0], 0x4e
inc rax
cmp rax, 6
jne 0x18000c4d3
mov word [rsp + 0xfc], 0
movaps xmmword [rsp + 0xa0], xmm8
cmp word [rsp + 0xf2], 0
je 0x18000c531
lea rcx, [rsp + 0xf2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000c531
lea rax, [rsp + 0xf2]
mov qword [rsp + 0xa0], rax
movabs rax, 0x28007300080028
mov qword [rsp + 0x90], rax
mov word [rsp + 0x9c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x28
inc rax
cmp rax, 6
jne 0x18000c552
mov word [rsp + 0x9c], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x18000c5a4
lea rcx, [rsp + 0x92]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000c5a4
lea rax, [rsp + 0x92]
mov qword [rsp + 0x70], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0x100], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xe0]
mov rdx, r13
mov r8, rbp
lea r9, [rsp + 0x70]
call fcn.180013584
movapd xmmword [rsp + 0xa0], xmm14
mov dword [rsp + 0xb0], 0xd0075
mov word [rsp + 0xc4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0xd
inc rax
cmp rax, 0x12
jne 0x18000c5f6
mov word [rsp + 0xc4], 0
movaps xmmword [rsp + 0x100], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000c654
lea rcx, [rsp + 0xa2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000c654
lea rax, [rsp + 0xa2]
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x70]
mov r8, rbp
mov r9, r13
call fcn.180013482
mov rcx, rbp
mov rdx, r14
mov r8, r15
call fcn.1800122d4
movsd xmm6, qword [rsp + 0xa0]
ucomisd xmm6, xmm9
jb 0x18000c7ba
movsd xmm13, qword [rsp + 0xa8]
ucomisd xmm13, xmm9
jb 0x18000c7ba
movsd xmm0, qword [rsp + 0xb0]
ucomisd xmm0, xmm9
jbe 0x18000c7ba
movapd xmmword [rsp + 0x100], xmm10
mov r8, qword [0x180019d28]
mov qword [rsp + 0x20], rbp
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov rdx, r14
lea rsi, [rsp + 0x70]
mov r9, rsi
call fcn.1800125c6
movsd xmm0, qword [rsp + 0xa0]
mulsd xmm0, xmm11
addsd xmm6, xmm0
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0x90], xmm12
movapd xmm0, xmmword [0x1800164e0]
movapd xmmword [rsp + 0xe0], xmm0
movapd xmmword [rsp + 0x120], xmm10
movsd qword [rsp + 0x140], xmm6
movsd qword [rsp + 0x148], xmm13
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], rbp
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x90]
mov qword [rsp + 0x38], rax
movabs rax, 0x3ff0000000000000
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
lea rcx, [rsp + 0x170]
mov r8, rsi
lea r9, [rsp + 0x140]
call fcn.1800126c2
jmp 0x18000c7ba
lea rbx, [0x180019e70]
inc r12
movsxd rax, dword [rsp + 0x198]
cmp r12, rax
jl 0x18000bf37
cmp byte [0x1800190db], 0
je 0x18000cdbf
mov eax, dword [rsp + 0x188]
test eax, eax
jle 0x18000cdbf
lea r15, [rsp + 0xa0]
lea r12, [rsp + 0x150]
lea r13, [0x180019e70]
movsd xmm7, qword [0x1800155e8]
xorps xmm8, xmm8
movss xmm9, dword [0x1800164f0]
lea rbp, [rsp + 0x100]
lea r14, [rsp + 0x70]
lea rbx, [rsp + 0xf0]
xorpd xmm11, xmm11
movaps xmm12, xmmword [0x1800164b0]
movsd xmm13, qword [0x1800156b8]
movapd xmm14, xmmword [0x1800156c0]
movapd xmm15, xmmword [0x1800164e0]
xor edi, edi
mov rcx, qword [rsp + 0x180]
mov rsi, qword [rcx + rdi*8]
test rsi, rsi
je 0x18000cdb0
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.1800105e8
mov rcx, r15
mov rdx, r13
mov r8, r12
call fcn.180013136
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800190d4]
ucomisd xmm6, xmm0
ja 0x18000cda9
mov rcx, r15
mov rdx, rsi
call fcn.180011ad0
test al, al
je 0x18000cda9
movaps xmmword [rsp + 0x80], xmm8
mov rcx, r15
mov rdx, rsi
call fcn.180011bac
ucomiss xmm9, xmm0
jbe 0x18000caa4
mov dword [rsp + 0xe0], 0x420067
mov word [rsp + 0xe4], 0x67
mov word [rsp + 0xe8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x67
inc rax
cmp rax, 4
jne 0x18000c8f8
mov word [rsp + 0xe8], 0
movaps xmmword [rsp + 0x100], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000c956
lea rcx, [rsp + 0xe2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000c956
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x120], 0x260006
mov word [rsp + 0x124], 6
mov word [rsp + 0x128], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x120], 6
inc rax
cmp rax, 4
jne 0x18000c97a
mov word [rsp + 0x128], 0
movaps xmmword [rsp + 0xf0], xmm8
cmp word [rsp + 0x122], 0
je 0x18000c9d8
lea rcx, [rsp + 0x122]
call fcn.180013e7b
inc eax
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], eax
je 0x18000c9d8
lea rax, [rsp + 0x122]
mov qword [rsp + 0xf0], rax
movapd xmm0, xmmword [0x180016500]
movapd xmmword [rsp + 0xa0], xmm0
movabs rax, 0x12001b001c0018
mov qword [rsp + 0xb0], rax
mov word [rsp + 0xb8], 0x75
mov word [rsp + 0xd0], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x75
inc rax
cmp rax, 0x18
jne 0x18000ca14
mov word [rsp + 0xd0], 0
movaps xmmword [rsp + 0x90], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000ca72
lea rcx, [rsp + 0xa2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
je 0x18000ca72
lea rax, [rsp + 0xa2]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0x140]
mov rdx, r14
lea r8, [rsp + 0x90]
mov r9, rbx
call fcn.180013584
movups xmm0, xmmword [rsp + 0x70]
jmp 0x18000cc76
movabs rax, 0x15004800780015
mov qword [rsp + 0x90], rax
mov word [rsp + 0x9c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x15
inc rax
cmp rax, 6
jne 0x18000cac5
mov word [rsp + 0x9c], 0
movaps xmmword [rsp + 0xa0], xmm8
cmp word [rsp + 0x92], 0
je 0x18000cb23
lea rcx, [rsp + 0x92]
call fcn.180013e7b
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000cb23
lea rax, [rsp + 0x92]
mov qword [rsp + 0xa0], rax
movabs rax, 0x43001800630043
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x43
inc rax
cmp rax, 6
jne 0x18000cb44
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x100], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000cba2
lea rcx, [rsp + 0xe2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000cba2
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x100], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xf0], xmm8
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x120]
mov rdx, r14
mov r8, rbx
mov r9, rbp
call fcn.180013584
movabs rax, 0x44005700710025
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x250055
mov word [rsp + 0xb4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x25
inc rax
cmp rax, 0xa
jne 0x18000cbfa
mov word [rsp + 0xb4], 0
movaps xmmword [rsp + 0xf0], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000cc58
lea rcx, [rsp + 0xa2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0xf8], eax
mov dword [rsp + 0xfc], eax
je 0x18000cc58
lea rax, [rsp + 0xa2]
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0x90]
mov rdx, rbp
mov r8, rbx
mov r9, r14
call fcn.180013482
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.1800122d4
movsd xmm6, qword [rsp + 0xa0]
ucomisd xmm6, xmm11
jb 0x18000cda9
movsd xmm10, qword [rsp + 0xa8]
ucomisd xmm10, xmm11
jb 0x18000cda9
movsd xmm0, qword [rsp + 0xb0]
ucomisd xmm0, xmm11
jbe 0x18000cda9
movaps xmmword [rsp + 0x70], xmm12
mov r8, qword [0x180019d28]
mov qword [rsp + 0x20], r14
mov rcx, rbp
mov rdx, r15
lea rsi, [rsp + 0x80]
mov r9, rsi
call fcn.1800125c6
movsd xmm0, qword [rsp + 0xa0]
mulsd xmm0, xmm13
addsd xmm6, xmm0
movapd xmmword [rsp + 0x70], xmm14
movaps xmmword [rsp + 0x100], xmm8
movapd xmmword [rsp + 0xf0], xmm14
movapd xmmword [rsp + 0x90], xmm15
movaps xmmword [rsp + 0xe0], xmm12
movsd qword [rsp + 0x120], xmm6
movsd qword [rsp + 0x128], xmm10
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], r14
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x38], rbx
movabs rax, 0x3ff0000000000000
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
lea rcx, [rsp + 0x140]
mov r8, rsi
lea r9, [rsp + 0x120]
call fcn.1800126c2
mov eax, dword [rsp + 0x188]
inc rdi
movsxd rcx, eax
cmp rdi, rcx
jl 0x18000c855
cmp byte [0x1800190da], 0
je 0x18000d13c
mov eax, dword [rsp + 0x1a8]
test eax, eax
jle 0x18000d13c
lea rbx, [rsp + 0x150]
lea r14, [rsp + 0xa0]
movsd xmm7, qword [0x1800155e8]
lea r12, [rsp + 0x80]
xorps xmm8, xmm8
lea rbp, [rsp + 0x70]
lea rsi, [rsp + 0xf0]
lea rdi, [rsp + 0x100]
xorpd xmm9, xmm9
movapd xmm10, xmmword [0x1800164b0]
movsd xmm11, qword [0x1800156b8]
movaps xmm12, xmmword [0x1800156c0]
movapd xmm13, xmmword [0x1800164e0]
xor r15d, r15d
mov rcx, qword [rsp + 0x1a0]
mov r13, qword [rcx + r15*8]
test r13, r13
je 0x18000d12d
mov rcx, rbx
mov rdx, r14
mov r8, r13
call fcn.1800105e8
mov rcx, rbx
lea rdx, [0x180019e70]
mov r8, r14
call fcn.180013136
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800190cc]
ucomisd xmm6, xmm0
ja 0x18000d126
mov rcx, rbx
mov rdx, r12
mov r8, r13
call fcn.180012104
movabs rax, 0x23007e004e0023
mov qword [rsp + 0x90], rax
mov word [rsp + 0x9c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x23
inc rax
cmp rax, 6
jne 0x18000cec0
mov word [rsp + 0x9c], 0
movaps xmmword [rsp + 0x150], xmm8
cmp word [rsp + 0x92], 0
je 0x18000cf1e
lea rcx, [rsp + 0x92]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x158], eax
mov dword [rsp + 0x15c], eax
je 0x18000cf1e
lea rax, [rsp + 0x92]
mov qword [rsp + 0x150], rax
movabs rax, 0x72002900520072
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x72
inc rax
cmp rax, 6
jne 0x18000cf3f
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x100], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000cf9d
lea rcx, [rsp + 0xe2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000cf9d
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x100], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xf0], xmm8
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x120]
mov rdx, rbp
mov r8, rsi
mov r9, rdi
call fcn.180013584
mov rcx, rbx
mov rdx, rdi
mov r8, r12
mov r9, rbp
call fcn.180013482
mov rcx, rbx
mov rdx, r13
call fcn.1800121e8
test al, al
je 0x18000d126
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call fcn.1800122d4
movsd xmm6, qword [rsp + 0x150]
ucomisd xmm6, xmm9
jb 0x18000d126
movsd xmm14, qword [rsp + 0x158]
ucomisd xmm14, xmm9
jb 0x18000d126
movsd xmm0, qword [rsp + 0x160]
ucomisd xmm0, xmm9
jbe 0x18000d126
movapd xmmword [rsp + 0xf0], xmm10
mov r8, qword [0x180019d28]
mov qword [rsp + 0x20], rsi
lea r13, [rsp + 0x90]
mov rcx, r13
mov rdx, rbx
mov r9, rdi
call fcn.1800125c6
movsd xmm0, qword [rsp + 0x150]
mulsd xmm0, xmm11
addsd xmm6, xmm0
movaps xmmword [rsp + 0xf0], xmm12
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0xe0], xmm12
movapd xmmword [rsp + 0x120], xmm13
movapd xmmword [rsp + 0x140], xmm10
movsd qword [rsp + 0x170], xmm6
movsd qword [rsp + 0x178], xmm14
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], rsi
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
movabs rax, 0x3ff0000000000000
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
lea rcx, [rsp + 0x13f]
mov r8, rdi
lea r9, [rsp + 0x170]
call fcn.1800126c2
mov eax, dword [rsp + 0x1a8]
inc r15
movsxd rcx, eax
cmp r15, rcx
jl 0x18000ce3f
cmp byte [0x1800190d8], 0
je 0x18000db69
cmp dword [rsp + 0x1b8], 0
jle 0x18000db69
lea r15, [rsp + 0xa2]
lea r14, [rsp + 0xa0]
lea r13, [rsp + 0x150]
lea rbp, [0x180019e70]
movsd xmm7, qword [0x1800155e8]
xorps xmm8, xmm8
movapd xmm9, xmmword [0x180016510]
movss xmm10, dword [0x180016520]
xorpd xmm11, xmm11
movaps xmm12, xmmword [0x1800164b0]
movsd xmm13, qword [0x1800156b8]
movapd xmm14, xmmword [0x1800156c0]
xor edi, edi
mov rax, qword [rsp + 0x1b0]
mov rsi, qword [rax + rdi*8]
test rsi, rsi
je 0x18000db55
mov rcx, r14
mov rdx, r13
mov r8, rsi
call fcn.1800105e8
mov rcx, r14
mov rdx, rbp
mov r8, r13
call fcn.180013136
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800190c8]
ucomisd xmm6, xmm0
ja 0x18000db55
mov rcx, r14
mov rdx, rsi
call fcn.180011280
mov r12, rax
mov word [rsp + 0x80], 0
lea r8, [rax + 0x40]
lea rcx, [rsp + 0x80]
mov rdx, r14
call fcn.18000f3f2
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x18000db55
test r12, r12
je 0x18000db55
mov rbx, qword [rax + 0x28]
test rbx, rbx
je 0x18000db55
movabs rax, 0x4b004b00670026
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x260049
mov word [rsp + 0xb4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x26
inc rax
cmp rax, 0xa
jne 0x18000d282
mov word [rsp + 0xb4], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
lea rsi, [rsp + 0x100]
lea r13, [rsp + 0x70]
je 0x18000d2e0
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d2e0
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d305
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d305
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov byte [rsp + 0x11f], al
movabs rax, 0x4e005500650027
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x4c0044
mov word [rsp + 0xac], 0x27
mov word [rsp + 0xb8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x27
inc rax
cmp rax, 0xc
jne 0x18000d35d
mov word [rsp + 0xb8], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000d3ae
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d3ae
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d3d3
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d3d3
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov byte [rsp + 0x11e], al
movabs rax, 0x670067005f0008
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x8006c
mov word [rsp + 0xb4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 8
inc rax
cmp rax, 0xa
jne 0x18000d421
mov word [rsp + 0xb4], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000d472
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d472
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d497
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d497
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov ebp, eax
movabs rax, 0x360027000f0042
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x2e0023
mov word [rsp + 0xac], 0x42
mov word [rsp + 0xb8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x42
inc rax
cmp rax, 0xc
jne 0x18000d4ea
mov word [rsp + 0xb8], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000d53b
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d53b
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d560
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d560
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov byte [rsp + 0x11d], al
movabs rax, 0x59004200650036
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x530058
mov word [rsp + 0xac], 0x36
mov word [rsp + 0xb8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x36
inc rax
cmp rax, 0xc
jne 0x18000d5b8
mov word [rsp + 0xb8], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000d609
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d609
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d62e
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d62e
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov r13d, eax
movabs rax, 0x260025000d004a
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x4a002e
mov word [rsp + 0xb4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x4a
inc rax
cmp rax, 0xa
jne 0x18000d678
mov word [rsp + 0xb4], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000d6c9
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d6c9
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d6ee
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d6ee
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov esi, eax
movapd xmmword [rsp + 0xa0], xmm9
mov word [rsp + 0xbc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xa0], 0x27
inc rax
cmp rax, 0xe
jne 0x18000d726
mov word [rsp + 0xbc], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xa2], 0
je 0x18000d777
mov rcx, r15
call fcn.180013e7b
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000d777
mov qword [rsp + 0x80], r15
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000d79c
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000d79c
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x80]
xor r9d, r9d
call fcn.1800136b4
mov cl, byte [rsp + 0x11f]
or cl, byte [rsp + 0x11e]
or bpl, byte [rsp + 0x11d]
or bpl, cl
or r13b, sil
or r13b, bpl
lea r13, [rsp + 0x150]
lea rbp, [0x180019e70]
jne 0x18000db55
test al, al
jne 0x18000db55
mov rcx, r14
mov rdx, r12
call fcn.18001176a
cvttss2si edx, dword [0x1800190e0]
lea ecx, [rdx*8]
movabs r8, 0x706050403020101
shr r8, cl
cmp edx, 8
mov ecx, 1
cmovae r8d, ecx
cmp al, r8b
jb 0x18000db55
dec al
movapd xmm0, xmm10
movapd xmm1, xmm10
movapd xmm2, xmm10
cmp al, 9
ja 0x18000d873
movsx rax, al
lea rcx, [0x18001642c]
movss xmm0, dword [rcx + rax*4]
lea rcx, [0x180016454]
movss xmm1, dword [rcx + rax*4]
lea rcx, [0x18001647c]
movss xmm2, dword [rcx + rax*4]
movss dword [rsp + 0x80], xmm0
movss dword [rsp + 0x84], xmm1
movss dword [rsp + 0x88], xmm2
mov dword [rsp + 0x8c], 0x3f733333
movabs rax, 0x42001f002f0042
mov qword [rsp + 0x90], rax
mov word [rsp + 0x9c], 0
mov eax, 1
lea rsi, [rsp + 0x100]
xor byte [rsp + rax*2 + 0x90], 0x42
inc rax
cmp rax, 6
jne 0x18000d8c2
mov word [rsp + 0x9c], 0
movaps xmmword [rsp + 0xa0], xmm8
cmp word [rsp + 0x92], 0
je 0x18000d920
lea rcx, [rsp + 0x92]
call fcn.180013e7b
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000d920
lea rax, [rsp + 0x92]
mov qword [rsp + 0xa0], rax
movabs rax, 0xe0055002e000e
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0xe
inc rax
cmp rax, 6
jne 0x18000d941
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x100], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000d99f
lea rcx, [rsp + 0xe2]
call fcn.180013e7b
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000d99f
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x100], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xf0], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0xf0]
mov r9, rsi
call fcn.180013584
movaps xmmword [rsp + 0xa0], xmm8
cmp word [rbx], 0
je 0x18000da03
mov rcx, rbx
call fcn.180013e7b
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000da03
mov qword [rsp + 0xa0], rbx
lea rbx, [rsp + 0xf0]
mov rcx, rbx
mov rdx, rsi
mov r8, r14
lea r9, [rsp + 0x70]
call fcn.180013482
mov rcx, rbx
mov rdx, r14
mov r8, r13
call fcn.1800122d4
movsd xmm6, qword [rsp + 0xa0]
ucomisd xmm6, xmm11
jb 0x18000db55
movsd xmm15, qword [rsp + 0xa8]
ucomisd xmm15, xmm11
jb 0x18000db55
movsd xmm0, qword [rsp + 0xb0]
ucomisd xmm0, xmm11
jbe 0x18000db55
movaps xmmword [rsp + 0xf0], xmm12
mov r8, qword [0x180019d28]
lea rbx, [rsp + 0xf0]
mov qword [rsp + 0x20], rbx
lea r12, [rsp + 0x90]
mov rcx, r12
mov rdx, r14
mov r9, rsi
call fcn.1800125c6
movsd xmm0, qword [rsp + 0xa0]
mulsd xmm0, xmm13
addsd xmm6, xmm0
movapd xmmword [rsp + 0xf0], xmm14
movaps xmmword [rsp + 0x90], xmm8
movapd xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0x120], xmm12
movsd qword [rsp + 0x140], xmm6
movsd qword [rsp + 0x148], xmm15
mov rdx, qword [0x180019d28]
mov qword [rsp + 0x60], rbx
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r12
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
movabs rax, 0x3ff0000000000000
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
lea rcx, [rsp + 0x170]
mov r8, rsi
lea r9, [rsp + 0x140]
call fcn.1800126c2
inc rdi
movsxd rax, dword [rsp + 0x1b8]
cmp rdi, rax
jl 0x18000d1b5
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm8, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1f0]
movaps xmm10, xmmword [rsp + 0x200]
movaps xmm11, xmmword [rsp + 0x210]
movaps xmm12, xmmword [rsp + 0x220]
movaps xmm13, xmmword [rsp + 0x230]
movaps xmm14, xmmword [rsp + 0x240]
movaps xmm15, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret