Function at 0x180001000
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
movapd xmmword [rsp + 0x210], xmm15
movaps xmmword [rsp + 0x200], xmm14
movapd xmmword [rsp + 0x1f0], xmm13
movaps xmmword [rsp + 0x1e0], xmm12
movapd xmmword [rsp + 0x1d0], xmm11
movapd xmmword [rsp + 0x1c0], xmm10
movapd xmmword [rsp + 0x1b0], xmm9
movaps xmmword [rsp + 0x1a0], xmm8
movapd xmmword [rsp + 0x190], xmm7
movapd xmmword [rsp + 0x180], xmm6
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x130], xmm0
movapd xmmword [rsp + 0x150], xmm0
movapd xmmword [rsp + 0x120], xmm0
movapd xmmword [rsp + 0x140], xmm0
cmp byte [0x1800190b4], 0
je 0x1800010c6
mov r8, qword [0x180019df0]
mov rdx, qword [0x180019df8]
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0x130]
call fcn.1800109d8
cmp byte [0x1800190b6], 0
je 0x1800010f2
mov r8, qword [0x180019e00]
mov rdx, qword [0x180019df8]
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0x150]
call fcn.1800109d8
mov al, byte [0x1800190b5]
or al, byte [0x1800190b8]
je 0x180001123
mov r8, qword [0x180019e08]
mov rdx, qword [0x180019df8]
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0x120]
call fcn.1800109d8
cmp byte [0x1800190b7], 0
je 0x18000114f
mov r8, qword [0x180019e10]
mov rdx, qword [0x180019df8]
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0x140]
call fcn.1800109d8
cmp byte [0x18001909c], 0
je 0x1800024d1
mov al, byte [0x1800190b5]
or al, byte [0x1800190b8]
je 0x180001aa7
cmp dword [rsp + 0x128], 0
jle 0x180001aa7
lea r14, [rsp + 0x90]
lea r15, [rsp + 0x168]
lea rbp, [0x180019110]
movsd xmm7, qword [0x1800150a8]
lea r13, [rsp + 0x70]
xorps xmm8, xmm8
lea rdi, [rsp + 0x80]
xorpd xmm9, xmm9
movapd xmm10, xmmword [0x1800150b0]
movsd xmm11, qword [0x1800150c0]
movaps xmm12, xmmword [0x1800150d0]
movaps xmm14, xmmword [0x1800150f0]
xor r12d, r12d
mov rax, qword [rsp + 0x120]
mov rsi, qword [rax + r12*8]
test rsi, rsi
je 0x180001a93
lea rdx, [rsi + 0xdc2]
mov rax, qword [0x180019e50]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x20], r14
mov r8d, 1
mov rcx, r15
xor r9d, r9d
call fcn.180014620
test byte [rsp + 0x168], 4
jne 0x180001a93
mov rcx, rsi
mov rdx, r15
call fcn.18001047c
mov rcx, r14
mov rdx, rbp
mov r8, r15
call fcn.1800110b4
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800190ac]
ucomisd xmm6, xmm0
ja 0x180001a93
mov rcx, r13
mov rdx, r14
mov r8, rsi
call fcn.180011862
mov rbx, qword [rsp + 0x90]
test rbx, rbx
je 0x180001a93
movabs rax, 0x21002c00070044
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x300037
mov word [rsp + 0x9c], 0x44
mov word [rsp + 0xa8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x44
inc rax
cmp rax, 0xc
jne 0x1800012bc
mov word [rsp + 0xa8], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x18000130e
lea rcx, [rsp + 0x92]
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000130e
lea rax, [rsp + 0x92]
mov qword [rsp + 0x70], rax
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x18000133f
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000133f
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
mov rdx, rdi
mov r8, r13
xor r9d, r9d
call fcn.180011f7c
mov esi, eax
movabs rax, 0x78007800540015
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x15007a
mov word [rsp + 0xa4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x15
inc rax
cmp rax, 0xa
jne 0x180001388
mov word [rsp + 0xa4], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x1800013da
lea rcx, [rsp + 0x92]
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x1800013da
lea rax, [rsp + 0x92]
mov qword [rsp + 0x70], rax
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x18000140b
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000140b
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
mov rdx, rdi
mov r8, r13
xor r9d, r9d
call fcn.180011f7c
cmp byte [0x1800190b5], 0
mov ebx, eax
sete al
xor sil, 1
or sil, al
jne 0x180001766
movabs rax, 0x7c00210011007c
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x7c
inc rax
cmp rax, 6
jne 0x180001460
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x90], xmm8
cmp word [rsp + 0xe2], 0
je 0x1800014be
lea rcx, [rsp + 0xe2]
call fcn.180013270
inc eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
je 0x1800014be
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x90], rax
movabs rax, 0x26007d00060026
mov qword [rsp + 0xd0], rax
mov word [rsp + 0xdc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x26
inc rax
cmp rax, 6
jne 0x1800014df
mov word [rsp + 0xdc], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xd2], 0
je 0x18000153d
lea rcx, [rsp + 0xd2]
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000153d
lea rax, [rsp + 0xd2]
mov qword [rsp + 0x80], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xc0], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xf0]
mov rdx, r13
lea r8, [rsp + 0xc0]
mov r9, rdi
call fcn.180011c32
movabs rax, 0x34003900120051
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x250022
mov word [rsp + 0x9c], 0x51
mov word [rsp + 0xa8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x51
inc rax
cmp rax, 0xc
jne 0x1800015a4
mov word [rsp + 0xa8], 0
movaps xmmword [rsp + 0xc0], xmm8
cmp word [rsp + 0x92], 0
je 0x180001602
lea rcx, [rsp + 0x92]
call fcn.180013270
inc eax
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
je 0x180001602
lea rax, [rsp + 0x92]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0xe0]
mov rdx, rdi
lea r8, [rsp + 0xc0]
mov r9, r13
call fcn.180011dea
mov rcx, qword [0x180019e18]
mov rdx, r14
mov r8, r15
call fcn.18000f0ba
movsd xmm15, qword [rsp + 0x90]
ucomisd xmm15, xmm9
jb 0x180001766
movsd xmm13, qword [rsp + 0x98]
ucomisd xmm13, xmm9
jb 0x180001766
movsd xmm0, qword [rsp + 0xa0]
ucomisd xmm0, xmm9
jbe 0x180001766
mov rcx, qword [0x180019e18]
movapd xmmword [rsp + 0xc0], xmm10
mov r8, qword [0x180019e20]
lea rsi, [rsp + 0xc0]
mov qword [rsp + 0x20], rsi
mov rdx, r14
mov r9, rdi
call fcn.18000f2c8
movsd xmm0, qword [rsp + 0x90]
mulsd xmm0, xmm11
addsd xmm15, xmm0
mov rcx, qword [0x180019e18]
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm12
movaps xmm0, xmmword [0x1800150e0]
movaps xmmword [rsp + 0xf0], xmm0
movapd xmmword [rsp + 0x110], xmm10
movsd qword [rsp + 0x100], xmm15
movsd qword [rsp + 0x108], xmm13
mov rdx, qword [0x180019e20]
mov qword [rsp + 0x60], rsi
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x30], 0x3f800000
mov r8, rdi
lea r9, [rsp + 0x100]
call fcn.18000f3f2
cmp byte [0x1800190b8], 0
sete al
xor bl, 1
or bl, al
jne 0x180001a93
movabs rax, 0x47001a002a0047
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x47
inc rax
cmp rax, 6
jne 0x18000179c
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x90], xmm8
cmp word [rsp + 0xe2], 0
je 0x1800017fa
lea rcx, [rsp + 0xe2]
call fcn.180013270
inc eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
je 0x1800017fa
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x90], rax
movabs rax, 0x21007a00010021
mov qword [rsp + 0xd0], rax
mov word [rsp + 0xdc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xd0], 0x21
inc rax
cmp rax, 6
jne 0x18000181b
mov word [rsp + 0xdc], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xd2], 0
je 0x180001879
lea rcx, [rsp + 0xd2]
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180001879
lea rax, [rsp + 0xd2]
mov qword [rsp + 0x80], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xc0], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xf0]
mov rdx, r13
lea r8, [rsp + 0xc0]
mov r9, rdi
call fcn.180011c32
movaps xmmword [rsp + 0x90], xmm14
mov dword [rsp + 0xa0], 0x2d0055
mov word [rsp + 0xb4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x2d
inc rax
cmp rax, 0x12
jne 0x1800018cd
mov word [rsp + 0xb4], 0
movaps xmmword [rsp + 0xc0], xmm8
cmp word [rsp + 0x92], 0
je 0x18000192b
lea rcx, [rsp + 0x92]
call fcn.180013270
inc eax
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
je 0x18000192b
lea rax, [rsp + 0x92]
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0xe0]
mov rdx, rdi
lea r8, [rsp + 0xc0]
mov r9, r13
call fcn.180011dea
mov rcx, qword [0x180019e18]
mov rdx, r14
mov r8, r15
call fcn.18000f0ba
movsd xmm6, qword [rsp + 0x90]
ucomisd xmm6, xmm9
jb 0x180001a93
movsd xmm13, qword [rsp + 0x98]
ucomisd xmm13, xmm9
jb 0x180001a93
movsd xmm0, qword [rsp + 0xa0]
ucomisd xmm0, xmm9
jbe 0x180001a93
mov rcx, qword [0x180019e18]
movaps xmm0, xmmword [0x180015100]
movaps xmmword [rsp + 0xc0], xmm0
mov r8, qword [0x180019e28]
lea rsi, [rsp + 0xc0]
mov qword [rsp + 0x20], rsi
mov rdx, r14
mov r9, rdi
call fcn.18000f2c8
movsd xmm0, qword [rsp + 0x90]
mulsd xmm0, xmm11
addsd xmm6, xmm0
mov rcx, qword [0x180019e18]
movaps xmmword [rsp + 0xc0], xmm12
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm12
movapd xmm0, xmmword [0x180015110]
movapd xmmword [rsp + 0xf0], xmm0
movapd xmmword [rsp + 0x110], xmm10
movsd qword [rsp + 0x100], xmm6
movsd qword [rsp + 0x108], xmm13
mov rdx, qword [0x180019e28]
mov qword [rsp + 0x60], rsi
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x30], 0x3f800000
mov r8, rdi
lea r9, [rsp + 0x100]
call fcn.18000f3f2
inc r12
movsxd rax, dword [rsp + 0x128]
cmp r12, rax
jl 0x1800011d6
cmp byte [0x1800190b4], 0
je 0x1800024d1
cmp dword [rsp + 0x138], 0
jle 0x1800024d1
lea r12, [rsp + 0x92]
lea rdi, [rsp + 0x168]
lea r13, [0x180019110]
lea rbp, [rsp + 0x90]
movsd xmm7, qword [0x1800150a8]
xorps xmm8, xmm8
movapd xmm9, xmmword [0x180015120]
movss xmm10, dword [0x180015130]
xorpd xmm11, xmm11
movaps xmm12, xmmword [0x180015100]
movsd xmm13, qword [0x1800150c0]
movaps xmm14, xmmword [0x1800150d0]
xor r14d, r14d
mov rax, qword [rsp + 0x130]
mov rsi, qword [rax + r14*8]
test rsi, rsi
je 0x1800024bd
mov rcx, rsi
mov rdx, rdi
call fcn.18001047c
mov rcx, rbp
mov rdx, r13
mov r8, rdi
call fcn.1800110b4
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800190a4]
ucomisd xmm6, xmm0
ja 0x1800024bd
mov rcx, rsi
call fcn.180012a86
mov r15, rax
lea rdx, [rax + 0x40]
mov rax, qword [0x180019e50]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r8d, 0x18
mov rcx, rbp
xor r9d, r9d
call fcn.180014620
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1800024bd
test r15, r15
je 0x1800024bd
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x1800024bd
movabs rax, 0x5b005b00770036
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x360059
mov word [rsp + 0xa4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x36
inc rax
cmp rax, 0xa
jne 0x180001bfd
mov word [rsp + 0xa4], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
lea rsi, [rsp + 0xc0]
lea r13, [rsp + 0x80]
je 0x180001c52
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001c52
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180001c83
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180001c83
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov byte [rsp + 0xbf], al
movabs rax, 0xd001600260064
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0xf0007
mov word [rsp + 0x9c], 0x64
mov word [rsp + 0xa8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x64
inc rax
cmp rax, 0xc
jne 0x180001cd8
mov word [rsp + 0xa8], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x180001d1d
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001d1d
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180001d4e
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180001d4e
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov byte [rsp + 0xbe], al
movabs rax, 0x3100310009005e
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x5e003a
mov word [rsp + 0xa4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x5e
inc rax
cmp rax, 0xa
jne 0x180001d99
mov word [rsp + 0xa4], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x180001dde
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001dde
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180001e0f
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180001e0f
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov ebp, eax
movabs rax, 0x160007002f0062
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0xe0003
mov word [rsp + 0x9c], 0x62
mov word [rsp + 0xa8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x62
inc rax
cmp rax, 0xc
jne 0x180001e5f
mov word [rsp + 0xa8], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x180001ea4
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001ea4
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180001ed5
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180001ed5
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov byte [rsp + 0xbd], al
movabs rax, 0x320029000e005d
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x380033
mov word [rsp + 0x9c], 0x5d
mov word [rsp + 0xa8], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x5d
inc rax
cmp rax, 0xc
jne 0x180001f2a
mov word [rsp + 0xa8], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x180001f6f
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001f6f
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180001fa0
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180001fa0
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r13
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov r13d, eax
movabs rax, 0x350036001e0059
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], 0x59003d
mov word [rsp + 0xa4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x59
inc rax
cmp rax, 0xa
jne 0x180001fe7
mov word [rsp + 0xa4], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x18000202c
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000202c
mov qword [rsp + 0x70], r12
mov rsi, rdi
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180002060
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180002060
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov edi, eax
movapd xmmword [rsp + 0x90], xmm9
mov word [rsp + 0xac], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x90], 0x76
inc rax
cmp rax, 0xe
jne 0x18000209d
mov word [rsp + 0xac], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0x92], 0
je 0x1800020e2
mov rcx, r12
call fcn.180013270
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x1800020e2
mov qword [rsp + 0x70], r12
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x180002113
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x180002113
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180011f7c
mov cl, byte [rsp + 0xbf]
or cl, byte [rsp + 0xbe]
or bpl, byte [rsp + 0xbd]
or bpl, cl
or r13b, dil
or r13b, bpl
mov rdi, rsi
lea r13, [0x180019110]
lea rbp, [rsp + 0x90]
jne 0x1800024bd
test al, al
jne 0x1800024bd
mov rcx, r15
call fcn.180012906
cvttss2si edx, dword [0x1800190bc]
lea ecx, [rdx*8]
movabs r8, 0x706050403020101
shr r8, cl
cmp edx, 8
mov ecx, 1
cmovae r8d, ecx
cmp al, r8b
jb 0x1800024bd
dec al
movapd xmm0, xmm10
movapd xmm1, xmm10
movapd xmm2, xmm10
cmp al, 9
ja 0x1800021e9
movzx eax, al
lea rcx, [0x18001502c]
movss xmm0, dword [rcx + rax*4]
lea rcx, [0x180015054]
movss xmm1, dword [rcx + rax*4]
lea rcx, [0x18001507c]
movss xmm2, dword [rcx + rax*4]
movss dword [rsp + 0x70], xmm0
movss dword [rsp + 0x74], xmm1
movss dword [rsp + 0x78], xmm2
mov dword [rsp + 0x7c], 0x3f733333
movabs rax, 0x1f00420072001f
mov qword [rsp + 0xd0], rax
mov word [rsp + 0xdc], 0
mov eax, 1
lea rsi, [rsp + 0xc0]
xor byte [rsp + rax*2 + 0xd0], 0x1f
inc rax
cmp rax, 6
jne 0x18000222c
mov word [rsp + 0xdc], 0
movaps xmmword [rsp + 0x90], xmm8
cmp word [rsp + 0xd2], 0
je 0x18000228a
lea rcx, [rsp + 0xd2]
call fcn.180013270
inc eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
je 0x18000228a
lea rax, [rsp + 0xd2]
mov qword [rsp + 0x90], rax
movabs rax, 0x76002d00560076
mov qword [rsp + 0xf0], rax
mov word [rsp + 0xfc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xf0], 0x76
inc rax
cmp rax, 6
jne 0x1800022ab
mov word [rsp + 0xfc], 0
movaps xmmword [rsp + 0xc0], xmm8
cmp word [rsp + 0xf2], 0
je 0x180002309
lea rcx, [rsp + 0xf2]
call fcn.180013270
inc eax
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
je 0x180002309
lea rax, [rsp + 0xf2]
mov qword [rsp + 0xc0], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xe0], xmm8
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0xe0]
mov r9, rsi
call fcn.180011c32
movaps xmmword [rsp + 0x90], xmm8
cmp word [rbx], 0
je 0x180002370
mov rcx, rbx
call fcn.180013270
inc eax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
je 0x180002370
mov qword [rsp + 0x90], rbx
lea rcx, [rsp + 0xe0]
mov rdx, rsi
mov r8, rbp
lea r9, [rsp + 0x80]
call fcn.180011dea
mov rcx, qword [0x180019e18]
mov rdx, rbp
mov r8, rdi
call fcn.18000f0ba
movsd xmm6, qword [rsp + 0x90]
ucomisd xmm6, xmm11
jb 0x1800024bd
movsd xmm15, qword [rsp + 0x98]
ucomisd xmm15, xmm11
jb 0x1800024bd
movsd xmm0, qword [rsp + 0xa0]
ucomisd xmm0, xmm11
jbe 0x1800024bd
mov rcx, qword [0x180019e18]
movaps xmmword [rsp + 0xe0], xmm12
mov r8, qword [0x180019e28]
lea rbx, [rsp + 0xe0]
mov qword [rsp + 0x20], rbx
mov rdx, rbp
mov r9, rsi
call fcn.18000f2c8
movsd xmm0, qword [rsp + 0x90]
mulsd xmm0, xmm13
addsd xmm6, xmm0
mov rcx, qword [0x180019e18]
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xd0], xmm8
movaps xmmword [rsp + 0xf0], xmm14
movaps xmmword [rsp + 0x110], xmm12
movsd qword [rsp + 0x100], xmm6
movsd qword [rsp + 0x108], xmm15
mov rdx, qword [0x180019e28]
mov qword [rsp + 0x60], rbx
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x30], 0x3f800000
mov r8, rsi
lea r9, [rsp + 0x100]
call fcn.18000f3f2
inc r14
movsxd rax, dword [rsp + 0x138]
cmp r14, rax
jl 0x180001b20
movaps xmm6, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x190]
movaps xmm8, xmmword [rsp + 0x1a0]
movaps xmm9, xmmword [rsp + 0x1b0]
movaps xmm10, xmmword [rsp + 0x1c0]
movaps xmm11, xmmword [rsp + 0x1d0]
movaps xmm12, xmmword [rsp + 0x1e0]
movaps xmm13, xmmword [rsp + 0x1f0]
movaps xmm14, xmmword [rsp + 0x200]
movaps xmm15, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret