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, 0x238
movapd xmmword [rsp + 0x220], xmm15
movaps xmmword [rsp + 0x210], xmm14
movapd xmmword [rsp + 0x200], xmm13
movaps xmmword [rsp + 0x1f0], xmm12
movapd xmmword [rsp + 0x1e0], xmm11
movapd xmmword [rsp + 0x1d0], xmm10
movapd xmmword [rsp + 0x1c0], xmm9
movaps xmmword [rsp + 0x1b0], xmm8
movapd xmmword [rsp + 0x1a0], xmm7
movapd xmmword [rsp + 0x190], xmm6
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x140], xmm0
movapd xmmword [rsp + 0x160], xmm0
movapd xmmword [rsp + 0x130], xmm0
movapd xmmword [rsp + 0x150], xmm0
cmp byte [0x1800180b4], 0
je 0x1800010c6
mov r8, qword [0x180018df0]
mov rdx, qword [0x180018df8]
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x140]
call fcn.18000fbb0
cmp byte [0x1800180b6], 0
je 0x1800010f2
mov r8, qword [0x180018e00]
mov rdx, qword [0x180018df8]
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x160]
call fcn.18000fbb0
mov al, byte [0x1800180b5]
or al, byte [0x1800180b8]
je 0x180001123
mov r8, qword [0x180018e08]
mov rdx, qword [0x180018df8]
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x130]
call fcn.18000fbb0
cmp byte [0x1800180b7], 0
je 0x18000114f
mov r8, qword [0x180018e10]
mov rdx, qword [0x180018df8]
lea rcx, [rsp + 0x80]
lea r9, [rsp + 0x150]
call fcn.18000fbb0
cmp byte [0x18001809c], 0
je 0x18000248e
mov al, byte [0x1800180b5]
or al, byte [0x1800180b8]
je 0x180001a68
cmp dword [rsp + 0x138], 0
jle 0x180001a68
lea r14, [rsp + 0x80]
lea r15, [rsp + 0x178]
lea rbp, [0x180018110]
movsd xmm7, qword [0x1800140a8]
lea r13, [rsp + 0xb0]
xorps xmm8, xmm8
lea rdi, [rsp + 0x70]
xorpd xmm9, xmm9
movapd xmm10, xmmword [0x1800140b0]
movsd xmm11, qword [0x1800140c0]
movaps xmm12, xmmword [0x1800140d0]
movaps xmm14, xmmword [0x1800140f0]
xor r12d, r12d
mov rax, qword [rsp + 0x130]
mov rsi, qword [rax + r12*8]
test rsi, rsi
je 0x180001a54
lea rdx, [rsi + 0xd92]
mov r8d, 1
mov rcx, r14
call qword [0x180018e50]
test byte [rsp + 0x80], 4
jne 0x180001a54
mov rcx, rsi
mov rdx, r15
call fcn.18000f654
mov rcx, r14
mov rdx, rbp
mov r8, r15
call fcn.18001028c
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800180ac]
ucomisd xmm6, xmm0
ja 0x180001a54
mov rcx, r13
mov rdx, r14
mov r8, rsi
call fcn.180010a3a
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x180001a54
movabs rax, 0x4000900220061
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x150012
mov word [rsp + 0x8c], 0x61
mov word [rsp + 0x98], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x61
inc rax
cmp rax, 0xc
jne 0x18000129a
mov word [rsp + 0x98], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x1800012f8
lea rcx, [rsp + 0x82]
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x1800012f8
lea rax, [rsp + 0x82]
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x18000131d
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000131d
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xd0]
mov rdx, rdi
mov r8, r13
xor r9d, r9d
call fcn.180011154
mov esi, eax
movabs rax, 0x560056007a003b
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x3b0054
mov word [rsp + 0x94], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x3b
inc rax
cmp rax, 0xa
jne 0x180001366
mov word [rsp + 0x94], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x1800013c4
lea rcx, [rsp + 0x82]
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x1800013c4
lea rax, [rsp + 0x82]
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x1800013e9
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x1800013e9
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xd0]
mov rdx, rdi
mov r8, r13
xor r9d, r9d
call fcn.180011154
cmp byte [0x1800180b5], 0
mov ebx, eax
sete al
xor sil, 1
or sil, al
jne 0x180001738
movabs rax, 0x5d00000030005d
mov qword [rsp + 0xf0], rax
mov word [rsp + 0xfc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xf0], 0x5d
inc rax
cmp rax, 6
jne 0x18000143e
mov word [rsp + 0xfc], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xf2], 0
je 0x18000149c
lea rcx, [rsp + 0xf2]
call fcn.18001244c
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000149c
lea rax, [rsp + 0xf2]
mov qword [rsp + 0x80], rax
movabs rax, 0x68003300480068
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x68
inc rax
cmp rax, 6
jne 0x1800014bd
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000150f
lea rcx, [rsp + 0xe2]
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000150f
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x70], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xd0], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x100]
mov rdx, r13
lea r8, [rsp + 0xd0]
mov r9, rdi
call fcn.180010e0a
movabs rax, 0x62006f00440007
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x730074
mov word [rsp + 0x8c], 7
mov word [rsp + 0x98], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 7
inc rax
cmp rax, 0xc
jne 0x180001576
mov word [rsp + 0x98], 0
movaps xmmword [rsp + 0xd0], xmm8
cmp word [rsp + 0x82], 0
je 0x1800015d4
lea rcx, [rsp + 0x82]
call fcn.18001244c
inc eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
je 0x1800015d4
lea rax, [rsp + 0x82]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xf0]
mov rdx, rdi
lea r8, [rsp + 0xd0]
mov r9, r13
call fcn.180010fc2
mov rcx, qword [0x180018e18]
mov rdx, r14
mov r8, r15
call fcn.18000e472
movsd xmm13, qword [rsp + 0x80]
ucomisd xmm13, xmm9
jb 0x180001738
movsd xmm15, qword [rsp + 0x88]
ucomisd xmm15, xmm9
jb 0x180001738
movsd xmm0, qword [rsp + 0x90]
ucomisd xmm0, xmm9
jbe 0x180001738
mov rcx, qword [0x180018e18]
movapd xmmword [rsp + 0xd0], xmm10
mov r8, qword [0x180018e20]
lea rsi, [rsp + 0xd0]
mov qword [rsp + 0x20], rsi
mov rdx, r14
mov r9, rdi
call fcn.18000e680
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, xmm11
addsd xmm13, xmm0
mov rcx, qword [0x180018e18]
movaps xmmword [rsp + 0xd0], xmm12
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm12
movaps xmm0, xmmword [0x1800140e0]
movaps xmmword [rsp + 0x100], xmm0
movapd xmmword [rsp + 0x120], xmm10
movsd qword [rsp + 0x110], xmm13
movsd qword [rsp + 0x118], xmm15
mov rdx, qword [0x180018e20]
mov qword [rsp + 0x60], rsi
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x30], 0x3f800000
mov r8, rdi
lea r9, [rsp + 0x110]
call fcn.18000e7aa
cmp byte [0x1800180b8], 0
sete al
xor bl, 1
or bl, al
jne 0x180001a54
movabs rax, 0x4d00100020004d
mov qword [rsp + 0xf0], rax
mov word [rsp + 0xfc], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xf0], 0x4d
inc rax
cmp rax, 6
jne 0x18000176e
mov word [rsp + 0xfc], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xf2], 0
je 0x1800017cc
lea rcx, [rsp + 0xf2]
call fcn.18001244c
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x1800017cc
lea rax, [rsp + 0xf2]
mov qword [rsp + 0x80], rax
movabs rax, 0x23007800030023
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
xor byte [rsp + rax*2 + 0xe0], 0x23
inc rax
cmp rax, 6
jne 0x1800017ed
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x70], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000183f
lea rcx, [rsp + 0xe2]
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x18000183f
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x70], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xd0], xmm8
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x100]
mov rdx, r13
lea r8, [rsp + 0xd0]
mov r9, rdi
call fcn.180010e0a
movaps xmmword [rsp + 0x80], xmm14
mov dword [rsp + 0x90], 0x12006a
mov word [rsp + 0xa4], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x12
inc rax
cmp rax, 0x12
jne 0x180001893
mov word [rsp + 0xa4], 0
movaps xmmword [rsp + 0xd0], xmm8
cmp word [rsp + 0x82], 0
je 0x1800018f1
lea rcx, [rsp + 0x82]
call fcn.18001244c
inc eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
je 0x1800018f1
lea rax, [rsp + 0x82]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xf0]
mov rdx, rdi
lea r8, [rsp + 0xd0]
mov r9, r13
call fcn.180010fc2
mov rcx, qword [0x180018e18]
mov rdx, r14
mov r8, r15
call fcn.18000e472
movsd xmm6, qword [rsp + 0x80]
ucomisd xmm6, xmm9
jb 0x180001a54
movsd xmm13, qword [rsp + 0x88]
ucomisd xmm13, xmm9
jb 0x180001a54
movsd xmm0, qword [rsp + 0x90]
ucomisd xmm0, xmm9
jbe 0x180001a54
mov rcx, qword [0x180018e18]
movapd xmmword [rsp + 0xd0], xmm10
mov r8, qword [0x180018e20]
lea rsi, [rsp + 0xd0]
mov qword [rsp + 0x20], rsi
mov rdx, r14
mov r9, rdi
call fcn.18000e680
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, xmm11
addsd xmm6, xmm0
mov rcx, qword [0x180018e18]
movaps xmmword [rsp + 0xd0], xmm12
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm12
movapd xmm0, xmmword [0x180014100]
movapd xmmword [rsp + 0x100], xmm0
movapd xmmword [rsp + 0x120], xmm10
movsd qword [rsp + 0x110], xmm6
movsd qword [rsp + 0x118], xmm13
mov rdx, qword [0x180018e20]
mov qword [rsp + 0x60], rsi
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x30], 0x3f800000
mov r8, rdi
lea r9, [rsp + 0x110]
call fcn.18000e7aa
inc r12
movsxd rax, dword [rsp + 0x138]
cmp r12, rax
jl 0x1800011d6
cmp byte [0x1800180b4], 0
je 0x18000248e
cmp dword [rsp + 0x148], 0
jle 0x18000248e
lea r14, [rsp + 0x82]
lea rdi, [rsp + 0x178]
lea r13, [0x180018110]
lea rbp, [rsp + 0x80]
movsd xmm7, qword [0x1800140a8]
xorps xmm8, xmm8
movapd xmm9, xmmword [0x180014110]
movss xmm10, dword [0x180014120]
xorpd xmm11, xmm11
movaps xmm12, xmmword [0x1800140b0]
movsd xmm13, qword [0x1800140c0]
movaps xmm14, xmmword [0x1800140d0]
xor r12d, r12d
mov rax, qword [rsp + 0x140]
mov rsi, qword [rax + r12*8]
test rsi, rsi
je 0x18000247a
mov rcx, rsi
mov rdx, rdi
call fcn.18000f654
mov rcx, rbp
mov rdx, r13
mov r8, rdi
call fcn.18001028c
movapd xmm6, xmm0
mulsd xmm6, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, dword [0x1800180a4]
ucomisd xmm6, xmm0
ja 0x18000247a
mov rcx, rbp
mov rdx, rsi
call fcn.180011c5e
mov r15, rax
lea rdx, [rax + 0x98]
mov r8d, 0x18
mov rcx, rbp
call qword [0x180018e50]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x18000247a
test r15, r15
je 0x18000247a
mov rbx, qword [rax + 0x28]
test rbx, rbx
je 0x18000247a
movabs rax, 0x1e001e00320073
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x73001c
mov word [rsp + 0x94], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x73
inc rax
cmp rax, 0xa
jne 0x180001ba3
mov word [rsp + 0x94], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
lea rsi, [rsp + 0xd0]
lea rdi, [rsp + 0x70]
je 0x180001c01
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x180001c01
mov qword [rsp + 0xb0], r14
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x180001c26
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001c26
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rdi
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov byte [rsp + 0xcf], al
movabs rax, 0x78006300530011
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x7a0072
mov word [rsp + 0x8c], 0x11
mov word [rsp + 0x98], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x11
inc rax
cmp rax, 0xc
jne 0x180001c7e
mov word [rsp + 0x98], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x180001ccf
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x180001ccf
mov qword [rsp + 0xb0], r14
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x180001cf4
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001cf4
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rdi
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov byte [rsp + 0xce], al
movabs rax, 0x150015002d007a
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x7a001e
mov word [rsp + 0x94], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x7a
inc rax
cmp rax, 0xa
jne 0x180001d42
mov word [rsp + 0x94], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x180001d93
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x180001d93
mov qword [rsp + 0xb0], r14
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x180001db8
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001db8
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rdi
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov ebp, eax
movabs rax, 0x50014003c0071
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x1d0010
mov word [rsp + 0x8c], 0x71
mov word [rsp + 0x98], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x71
inc rax
cmp rax, 0xc
jne 0x180001e0b
mov word [rsp + 0x98], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x180001e5c
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x180001e5c
mov qword [rsp + 0xb0], r14
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x180001e81
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001e81
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rdi
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov byte [rsp + 0xcd], al
movabs rax, 0x3b002000070054
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x31003a
mov word [rsp + 0x8c], 0x54
mov word [rsp + 0x98], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x54
inc rax
cmp rax, 0xc
jne 0x180001ed9
mov word [rsp + 0x98], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x180001f2a
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x180001f2a
mov qword [rsp + 0xb0], r14
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x180001f4f
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180001f4f
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rdi
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov edi, eax
movabs rax, 0x9000a00220065
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x650001
mov word [rsp + 0x94], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x65
inc rax
cmp rax, 0xa
jne 0x180001f98
mov word [rsp + 0x94], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x180001fe9
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x180001fe9
mov qword [rsp + 0xb0], r14
mov rsi, r13
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x180002011
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x180002011
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov r13d, eax
movapd xmmword [rsp + 0x80], xmm9
mov word [rsp + 0x9c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x80], 0x36
inc rax
cmp rax, 0xe
jne 0x18000204f
mov word [rsp + 0x9c], 0
movaps xmmword [rsp + 0xb0], xmm8
cmp word [rsp + 0x82], 0
je 0x1800020a0
mov rcx, r14
call fcn.18001244c
inc eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0xbc], eax
je 0x1800020a0
mov qword [rsp + 0xb0], r14
movaps xmmword [rsp + 0x70], xmm8
cmp word [rbx], 0
je 0x1800020c5
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], eax
je 0x1800020c5
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0xb0]
xor r9d, r9d
call fcn.180011154
mov cl, byte [rsp + 0xcf]
or cl, byte [rsp + 0xce]
or bpl, byte [rsp + 0xcd]
or bpl, cl
or dil, r13b
or dil, bpl
lea rdi, [rsp + 0x178]
mov r13, rsi
lea rbp, [rsp + 0x80]
jne 0x18000247a
test al, al
jne 0x18000247a
mov rcx, r15
call fcn.180011ade
cvttss2si edx, dword [0x1800180bc]
lea ecx, [rdx*8]
movabs r8, 0x706050403020101
shr r8, cl
cmp edx, 8
mov ecx, 1
cmovae r8d, ecx
cmp al, r8b
jb 0x18000247a
dec al
movapd xmm0, xmm10
movapd xmm1, xmm10
movapd xmm2, xmm10
cmp al, 9
ja 0x18000219d
movsx rax, al
lea rcx, [0x18001402c]
movss xmm0, dword [rcx + rax*4]
lea rcx, [0x180014054]
movss xmm1, dword [rcx + rax*4]
lea rcx, [0x18001407c]
movss xmm2, dword [rcx + rax*4]
movss dword [rsp + 0xb0], xmm0
movss dword [rsp + 0xb4], xmm1
movss dword [rsp + 0xb8], xmm2
mov dword [rsp + 0xbc], 0x3f733333
movabs rax, 0x2a00770047002a
mov qword [rsp + 0xe0], rax
mov word [rsp + 0xec], 0
mov eax, 1
lea rsi, [rsp + 0xd0]
xor byte [rsp + rax*2 + 0xe0], 0x2a
inc rax
cmp rax, 6
jne 0x1800021ec
mov word [rsp + 0xec], 0
movaps xmmword [rsp + 0x80], xmm8
cmp word [rsp + 0xe2], 0
je 0x18000224a
lea rcx, [rsp + 0xe2]
call fcn.18001244c
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000224a
lea rax, [rsp + 0xe2]
mov qword [rsp + 0x80], rax
movabs rax, 0x27007c00070027
mov qword [rsp + 0x100], rax
mov word [rsp + 0x10c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x100], 0x27
inc rax
cmp rax, 6
jne 0x18000226b
mov word [rsp + 0x10c], 0
movaps xmmword [rsp + 0xd0], xmm8
cmp word [rsp + 0x102], 0
je 0x1800022c9
lea rcx, [rsp + 0x102]
call fcn.18001244c
inc eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
je 0x1800022c9
lea rax, [rsp + 0x102]
mov qword [rsp + 0xd0], rax
cvttsd2si eax, xmm6
movaps xmmword [rsp + 0xf0], xmm8
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0xf0]
mov r9, rsi
call fcn.180010e0a
movaps xmmword [rsp + 0x80], xmm8
cmp word [rbx], 0
je 0x18000232d
mov rcx, rbx
call fcn.18001244c
inc eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8c], eax
je 0x18000232d
mov qword [rsp + 0x80], rbx
lea rcx, [rsp + 0xf0]
mov rdx, rsi
mov r8, rbp
lea r9, [rsp + 0x70]
call fcn.180010fc2
mov rcx, qword [0x180018e18]
mov rdx, rbp
mov r8, rdi
call fcn.18000e472
movsd xmm6, qword [rsp + 0x80]
ucomisd xmm6, xmm11
jb 0x18000247a
movsd xmm15, qword [rsp + 0x88]
ucomisd xmm15, xmm11
jb 0x18000247a
movsd xmm0, qword [rsp + 0x90]
ucomisd xmm0, xmm11
jbe 0x18000247a
mov rcx, qword [0x180018e18]
movaps xmmword [rsp + 0xf0], xmm12
mov r8, qword [0x180018e20]
lea rbx, [rsp + 0xf0]
mov qword [rsp + 0x20], rbx
mov rdx, rbp
mov r9, rsi
call fcn.18000e680
movsd xmm0, qword [rsp + 0x80]
mulsd xmm0, xmm13
addsd xmm6, xmm0
mov rcx, qword [0x180018e18]
movaps xmmword [rsp + 0xf0], xmm14
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0x100], xmm14
movaps xmmword [rsp + 0x120], xmm12
movsd qword [rsp + 0x110], xmm6
movsd qword [rsp + 0x118], xmm15
mov rdx, qword [0x180018e20]
mov qword [rsp + 0x60], rbx
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 + 0x100]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x30], 0x3f800000
mov r8, rsi
lea r9, [rsp + 0x110]
call fcn.18000e7aa
inc r12
movsxd rax, dword [rsp + 0x148]
cmp r12, rax
jl 0x180001ae1
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm11, xmmword [rsp + 0x1e0]
movaps xmm12, xmmword [rsp + 0x1f0]
movaps xmm13, xmmword [rsp + 0x200]
movaps xmm14, xmmword [rsp + 0x210]
movaps xmm15, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret