Function at 0x180085550
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f8]
sub rsp, 0x5c0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rdi, r8
mov r13, rcx
xor esi, esi
mov r12d, esi
mov dword [rsp + 0x48], esi
lea rdx, [rcx + 0x478]
lea rcx, [rbp - 0x28]
call fcn.180034bd0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x70], 0xa
mov qword [rbp - 0x68], 0xf
movsd xmm0, qword [str.Properties]
movsd qword [rbp - 0x80], xmm0
movzx eax, word [0x18031d120]
mov word [rbp - 0x78], ax
mov byte [rbp - 0x76], sil
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x220]
lea rcx, [r13 + 0x478]
call fcn.180072ba0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18008562f
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008562a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dbb
call fcn.18026a1a0
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
test rdi, rdi
je 0x180086d16
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov r14, rsi
mov qword [rbp - 0x30], rsi
mov rsi, qword [rbp - 0x38]
nop dword [rax + rax]
mov eax, dword [0x1804c0684]
mov rcx, qword [rax + rdi]
mov qword [rbp + 0x500], rcx
test rcx, rcx
je 0x1800856cc
mov rdx, rcx
mov rbx, rcx
nop dword [rax]
cmp rsi, r14
je 0x180085692
mov qword [rsi], rcx
add rsi, 8
mov qword [rbp - 0x38], rsi
jmp 0x1800856b0
lea r8, [rbp + 0x500]
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.1800343f0
mov rdx, rbx
mov r14, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x38]
mov eax, dword [0x1804c068c]
mov rcx, qword [rax + rdx]
mov rdx, rcx
mov qword [rbp + 0x500], rcx
mov rbx, rcx
test rcx, rcx
jne 0x180085680
mov eax, dword [0x1804c0680]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x180085660
mov r8, rsi
mov rbx, qword [rbp - 0x40]
sub r8, rbx
sar r8, 3
movzx r9d, byte [rbp + 0x500]
mov rdx, rsi
mov rcx, rbx
call fcn.18004c450
mov rdi, rbx
mov qword [rsp + 0x50], rbx
cmp rbx, rsi
je 0x180085cf2
xorps xmm6, xmm6
movss xmm7, dword [0x18031f6e8]
movss xmm8, dword [0x18031ad1c]
mov rcx, qword [rdi]
mov qword [rsp + 0x40], rcx
mov eax, dword [0x1804c06a4]
mov rbx, qword [rax + rcx]
mov ecx, dword [0x1804d7e4c]
add rcx, rbx
lea rdx, [rbp + 0x250]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180085756
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x60]
call fcn.180200970
nop
mov rdx, qword [rbp + 0x268]
cmp rdx, 8
jb 0x1800857bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800857ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dc1
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x260], rax
mov qword [rbp + 0x268], 7
mov word [rbp + 0x250], ax
mov r9, qword [rbp + 0x508]
test r9, r9
jne 0x180085a61
mov ecx, dword [0x1804d7e4c]
add rcx, rbx
lea rdx, [rbp + 0x270]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x18008580d
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x168], rax
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x70]
call fcn.180200970
nop
mov rdx, qword [rbp + 0x288]
cmp rdx, 8
jb 0x180085876
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085871
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dc7
call fcn.18026a1a0
xor ebx, ebx
mov qword [rbp + 0x280], rbx
mov qword [rbp + 0x288], 7
mov word [rbp + 0x270], bx
mov ecx, dword [0x1804c06a8]
add rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x290]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x1800858b6
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x90]
call fcn.180200970
nop
mov rdx, qword [rbp + 0x2a8]
cmp rdx, 8
jb 0x180085922
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008591d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dcd
call fcn.18026a1a0
mov qword [rbp + 0x2a0], rbx
mov qword [rbp + 0x2a8], 7
mov word [rbp + 0x290], bx
lea r8, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
cmovae r8, qword [rbp + 0x90]
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rdx, qword [rbp + 0x70]
lea rcx, str._s__s
call fcn.180187460
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x1800859b1
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800859ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dd3
call fcn.18026a1a0
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x180085a08
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085a03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dd9
call fcn.18026a1a0
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180085ccc
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085cc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086daf
jmp 0x180085cc7
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rdx, qword [rbp - 0x60]
movabs rcx, 0xcbf29ce484222325
mov r8, qword [rbp - 0x50]
add r8, rdx
cmp rdx, r8
je 0x180086b25
movabs r15, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movsx rax, byte [rdx]
xor rcx, rax
imul rcx, r15
inc rdx
cmp rdx, r8
jne 0x180085aa0
lea r15, [r13 + 0x478]
movabs rax, 0x561bbcf554ac3791
cmp rcx, rax
ja 0x1800862ce
je 0x1800860b6
movabs rax, 0x5406b27cf968ff3
cmp rcx, rax
je 0x180085dd3
movabs rax, 0x7da69ddbc0d4c69
cmp rcx, rax
je 0x180085c8f
movabs rax, 0x4769ea4ae78e66cb
cmp rcx, rax
je 0x180086920
movabs rax, 0x4b1b2d85250bcc80
cmp rcx, rax
jne 0x180086b25
mov rdi, qword [rsp + 0x40]
mov eax, dword [0x1804d7cd4]
movsxd r8, dword [rax + rdi]
mov eax, dword [0x1804d7ed8]
movzx ecx, byte [rax + rdi]
mov eax, dword [0x1804d7edc]
movzx edx, byte [rax + rdi]
add rcx, r9
test byte [r8 + rcx], dl
setne byte [rbp + 0x500]
mov ecx, dword [0x1804c06a8]
add rcx, rdi
lea rdx, [rbp + 0x130]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180085b73
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rax
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0xb0]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x180085ba3
mov rax, qword [rax]
lea rdx, [rbp + 0x500]
mov rcx, rax
call fcn.18017eea0
movzx ebx, al
mov r8, qword [rbp + 0xc8]
cmp r8, 0x10
jb 0x180085bd8
inc r8
mov rdx, qword [rbp + 0xb0]
lea rcx, [rbp + 0xb0]
call fcn.180015980
xor eax, eax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], 0xf
mov byte [rbp + 0xb0], al
mov r8, qword [rbp + 0x148]
cmp r8, 8
jb 0x180085c17
inc r8
mov rdx, qword [rbp + 0x130]
lea rcx, [rbp + 0x130]
call fcn.18006a570
xor eax, eax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], 7
mov word [rbp + 0x130], ax
test bl, bl
je 0x180085c4b
movzx r8d, byte [rbp + 0x500]
mov rdx, qword [rbp + 0x508]
mov rcx, rdi
call fcn.18007e4f0
movzx eax, byte [rbp + 0x500]
mov byte [rbp + 0x518], al
mov edx, 1
xor ecx, ecx
call fcn.18015d850
test al, al
je 0x180085c8a
lea rcx, [rbp - 0x28]
call fcn.1800763f0
test al, al
jne 0x180085d4a
lea rcx, str.Cant_save__did_not_start_from_a_valid_base
call fcn.180187460
call fcn.180160b40
mov rdi, qword [rsp + 0x50]
xor ebx, ebx
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180085ccc
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085cc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086da9
call fcn.18026a1a0
mov byte [rbp - 0x60], 0
mov qword [rbp - 0x48], 0xf
mov qword [rbp - 0x50], rbx
add rdi, 8
mov qword [rsp + 0x50], rdi
cmp rdi, rsi
jne 0x180085721
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x180086d14
sub r14, rbx
sar r14, 3
lea rdx, [r14*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180085d2f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dbb
mov rcx, rbx
call fcn.18026a1a0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
xor esi, esi
mov qword [rbp - 0x30], rsi
jmp 0x180086d16
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
lea rax, [rbp + 0x508]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x518]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x10], 0
lea rdx, [rbp - 0x10]
lea rcx, str.Save_Property
call fcn.18017e590
test al, al
je 0x180085da2
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.18005db70
mov qword [rbp - 8], 0
lea rdx, [rbp - 8]
lea rcx, str.Unsave_Property
call fcn.18017e590
test al, al
je 0x180085c85
mov dl, 1
lea rcx, [rsp + 0x58]
call fcn.18005db70
jmp 0x180085c85
mov ecx, dword [0x1804c06a8]
add rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x3a0]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180085df8
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x2b0]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x180085e28
mov rax, qword [rax]
mov rcx, rax
call fcn.180187af0
movzx ebx, al
mov rdx, qword [rbp + 0x2c8]
cmp rdx, 0x10
jb 0x180085e74
inc rdx
mov rcx, qword [rbp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085e6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086ddf
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x2c0], rax
mov qword [rbp + 0x2c8], 0xf
mov byte [rbp + 0x2b0], al
mov rdx, qword [rbp + 0x3b8]
cmp rdx, 8
jb 0x180085ed6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085ecf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086de5
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x3b0], rax
mov qword [rbp + 0x3b8], 7
mov word [rbp + 0x3a0], ax
test bl, bl
je 0x180085c8f
mov ecx, dword [0x1804c06a8]
add rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x300]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180085f1c
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1a0], rcx
mov qword [rbp + 0x1a8], rax
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x2e0]
call fcn.180200970
nop
mov qword [rbp + 0x480], r15
mov byte [rbp + 0x488], 0
mov rcx, qword [r15 + 8]
cmp rcx, qword [r15 + 0x10]
je 0x180085f69
mov rdx, rax
call fcn.180012830
add qword [r15 + 8], 0x20
jmp 0x180085f77
mov r8, rax
mov rdx, rcx
mov rcx, r15
call fcn.1800450d0
or r12d, 2
mov dword [rsp + 0x48], r12d
mov rdx, qword [rbp + 0x2f8]
cmp rdx, 0x10
jb 0x180085fc1
inc rdx
mov rcx, qword [rbp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180085fbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086deb
call fcn.18026a1a0
xor ebx, ebx
mov qword [rbp + 0x2f0], rbx
mov qword [rbp + 0x2f8], 0xf
mov byte [rbp + 0x2e0], bl
mov rdx, qword [rbp + 0x318]
cmp rdx, 8
jb 0x180086021
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008601c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086df1
call fcn.18026a1a0
mov qword [rbp + 0x310], rbx
mov qword [rbp + 0x318], 7
mov word [rbp + 0x300], bx
mov r8, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x508]
mov rcx, r13
call fcn.180083d00
call fcn.180188610
and r12d, 0xfffffffd
mov dword [rsp + 0x48], r12d
mov rbx, qword [r15 + 8]
mov rdx, qword [rbx - 8]
cmp rdx, 0x10
jb 0x18008609b
mov rcx, qword [rbx - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x180086096
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180086e27
mov rcx, r8
call fcn.18026a1a0
xor ecx, ecx
mov qword [rbx - 0x10], rcx
mov qword [rbx - 8], 0xf
mov byte [rbx - 0x20], cl
add qword [r15 + 8], 0xffffffffffffffe0
jmp 0x180085c8f
mov eax, dword [0x1804d7cd4]
mov rdx, qword [rsp + 0x40]
movsxd rbx, dword [rax + rdx]
add rbx, r9
mov ecx, dword [0x1804c06a8]
add rcx, rdx
lea rdx, [rbp + 0x340]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x1800860eb
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x1b8], rax
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x320]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x18008611b
mov rax, qword [rax]
xor ecx, ecx
mov dword [rsp + 0x30], ecx
lea rcx, str._.3f
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm6
movaps xmm2, xmm7
mov rdx, rbx
mov rcx, rax
call fcn.180180530
nop
mov rdx, qword [rbp + 0x338]
cmp rdx, 0x10
jb 0x180086186
inc rdx
mov rcx, qword [rbp + 0x320]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180086181
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086df7
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x330], rax
mov qword [rbp + 0x338], 0xf
mov byte [rbp + 0x320], al
mov rdx, qword [rbp + 0x358]
cmp rdx, 8
jb 0x1800861e8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x340]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800861e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086dfd
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x350], rax
mov qword [rbp + 0x358], 7
mov word [rbp + 0x340], ax
movsd xmm0, qword [rbx]
movsd qword [rbp + 0x518], xmm0
mov edx, 1
xor ecx, ecx
call fcn.18015d850
test al, al
je 0x180085c8f
lea rcx, [rbp - 0x28]
call fcn.1800763f0
test al, al
jne 0x180086244
lea rcx, str.Cant_save__did_not_start_from_a_valid_base
call fcn.180187460
call fcn.180160b40
jmp 0x180085c8f
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
lea rax, [rbp + 0x508]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x518]
mov qword [rsp + 0x78], rax
mov qword [rbp], 0
lea rdx, [rbp]
lea rcx, str.Save_Property
call fcn.18017e590
test al, al
je 0x18008629c
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.18005cbe0
mov qword [rbp + 8], 0
lea rdx, [rbp + 8]
lea rcx, str.Unsave_Property
call fcn.18017e590
test al, al
je 0x1800862c4
mov dl, 1
lea rcx, [rsp + 0x58]
call fcn.18005cbe0
call fcn.180160b40
jmp 0x180085c8f
movabs rax, 0x565b52d0a908345d
cmp rcx, rax
je 0x180086920
movabs rax, 0xaf3c66bbcc10f6cf
cmp rcx, rax
je 0x18008663c
movabs rax, 0xbff301ad16684c48
cmp rcx, rax
je 0x180086432
movabs rax, 0xceac6aa57efac3e9
cmp rcx, rax
jne 0x180086b25
mov eax, dword [0x1804d7cd4]
mov rdx, qword [rsp + 0x40]
movsxd rdi, dword [rax + rdx]
add rdi, r9
mov ecx, dword [0x1804c06a8]
add rcx, rdx
lea rdx, [rbp + 0xf0]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x18008634f
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x1c8], rax
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xd0]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x18008637f
mov rax, qword [rax]
mov rcx, rax
call fcn.180187af0
movzx ebx, al
mov r8, qword [rbp + 0xe8]
cmp r8, 0x10
jb 0x1800863ad
inc r8
mov rdx, qword [rbp + 0xd0]
lea rcx, [rbp + 0xd0]
call fcn.180015980
xor eax, eax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], 0xf
mov byte [rbp + 0xd0], al
mov r8, qword [rbp + 0x108]
cmp r8, 8
jb 0x1800863ec
inc r8
mov rdx, qword [rbp + 0xf0]
lea rcx, [rbp + 0xf0]
call fcn.18006a570
xor eax, eax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], 7
mov word [rbp + 0xf0], ax
test bl, bl
je 0x180085c8a
mov r8d, dword [0x1804d7ed4]
mov rax, qword [rsp + 0x40]
mov r8, qword [r8 + rax]
mov rdx, rdi
mov rcx, r13
call fcn.180087db0
call fcn.180188610
jmp 0x180085c8a
mov eax, dword [0x1804d7cd4]
mov rdx, qword [rsp + 0x40]
movsxd rbx, dword [rax + rdx]
add rbx, r9
mov ecx, dword [0x1804c06a8]
add rcx, rdx
lea rdx, [rbp + 0x380]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180086467
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x360]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x180086497
mov rax, qword [rax]
xor ecx, ecx
mov dword [rsp + 0x30], ecx
lea rcx, str._.3f
mov qword [rsp + 0x28], rcx
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm6
movaps xmm2, xmm7
mov rdx, rbx
mov rcx, rax
call fcn.180180530
nop
mov rdx, qword [rbp + 0x378]
cmp rdx, 0x10
jb 0x180086502
inc rdx
mov rcx, qword [rbp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800864fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e03
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x370], rax
mov qword [rbp + 0x378], 0xf
mov byte [rbp + 0x360], al
mov rdx, qword [rbp + 0x398]
cmp rdx, 8
jb 0x180086564
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008655d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e09
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x390], rax
mov qword [rbp + 0x398], 7
mov word [rbp + 0x380], ax
movss xmm0, dword [rbx]
movss dword [rbp + 0x518], xmm0
mov edx, 1
xor ecx, ecx
call fcn.18015d850
test al, al
je 0x180085c8f
lea rcx, [rbp - 0x28]
call fcn.1800763f0
test al, al
je 0x18008622e
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
lea rax, [rbp + 0x508]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x518]
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x10], 0
lea rdx, [rbp + 0x10]
lea rcx, str.Save_Property
call fcn.18017e590
test al, al
je 0x180086606
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.18005bc50
mov qword [rbp + 0x18], 0
lea rdx, [rbp + 0x18]
lea rcx, str.Unsave_Property
call fcn.18017e590
test al, al
je 0x18008623a
mov dl, 1
lea rcx, [rsp + 0x58]
call fcn.18005bc50
call fcn.180160b40
jmp 0x180085c8f
mov eax, dword [0x1804d7cd4]
mov rdx, qword [rsp + 0x40]
movsxd rdi, dword [rax + rdx]
add rdi, r9
mov ecx, dword [0x1804c06a8]
add rcx, rdx
lea rdx, [rbp + 0x3c0]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180086671
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x2d0], rcx
mov qword [rbp + 0x2d8], rax
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x1f0]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x1800866a1
mov rax, qword [rax]
mov rcx, rax
call fcn.180187af0
movzx ebx, al
mov rdx, qword [rbp + 0x208]
cmp rdx, 0x10
jb 0x1800866ed
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800866e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e0f
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], al
mov rdx, qword [rbp + 0x3d8]
cmp rdx, 8
jb 0x18008674f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180086748
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e15
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x3d8], 7
mov word [rbp + 0x3c0], ax
test bl, bl
je 0x180085c8a
mov ecx, dword [0x1804c06a8]
add rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x400]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180086795
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x1e8], rax
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x3e0]
call fcn.180200970
nop
mov qword [rbp - 0x80], r15
mov byte [rbp - 0x78], 0
mov rcx, qword [r15 + 8]
cmp rcx, qword [r15 + 0x10]
je 0x1800867dc
mov rdx, rax
call fcn.180012830
add qword [r15 + 8], 0x20
jmp 0x1800867ea
mov r8, rax
mov rdx, rcx
mov rcx, r15
call fcn.1800450d0
or r12d, 4
mov dword [rsp + 0x48], r12d
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 0x10
jb 0x180086834
inc rdx
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008682f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e1b
call fcn.18026a1a0
xor ebx, ebx
mov qword [rbp + 0x3f0], rbx
mov qword [rbp + 0x3f8], 0xf
mov byte [rbp + 0x3e0], bl
mov rdx, qword [rbp + 0x418]
cmp rdx, 8
jb 0x180086894
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008688f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e21
call fcn.18026a1a0
mov qword [rbp + 0x410], rbx
mov qword [rbp + 0x418], 7
mov word [rbp + 0x400], bx
mov rdx, qword [rdi]
mov rcx, r13
call fcn.1800850d0
call fcn.180188610
and r12d, 0xfffffffb
mov dword [rsp + 0x48], r12d
mov rbx, qword [r15 + 8]
mov rdx, qword [rbx - 8]
cmp rdx, 0x10
jb 0x180086905
mov rcx, qword [rbx - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x180086900
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180086e27
mov rcx, r8
call fcn.18026a1a0
xor ecx, ecx
mov qword [rbx - 0x10], rcx
mov qword [rbx - 8], 0xf
mov byte [rbx - 0x20], cl
add qword [r15 + 8], 0xffffffffffffffe0
jmp 0x180085c8a
mov eax, dword [0x1804d7cd4]
mov rdx, qword [rsp + 0x40]
movsxd rbx, dword [rax + rdx]
add rbx, r9
mov ecx, dword [0x1804c06a8]
add rcx, rdx
lea rdx, [rbp + 0x440]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180086955
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x218], rax
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x420]
call fcn.180200970
nop
cmp qword [rax + 0x18], 0x10
jb 0x180086985
mov rax, qword [rax]
xor ecx, ecx
mov dword [rsp + 0x30], ecx
lea rdx, [0x18031b7e0]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], ecx
xor r9d, r9d
movaps xmm2, xmm8
mov rdx, rbx
mov rcx, rax
call fcn.180180580
nop
mov rdx, qword [rbp + 0x438]
cmp rdx, 0x10
jb 0x1800869ef
inc rdx
mov rcx, qword [rbp + 0x420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800869ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e2d
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x430], rax
mov qword [rbp + 0x438], 0xf
mov byte [rbp + 0x420], al
mov rdx, qword [rbp + 0x458]
cmp rdx, 8
jb 0x180086a51
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x440]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180086a4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e33
call fcn.18026a1a0
xor eax, eax
mov qword [rbp + 0x450], rax
mov qword [rbp + 0x458], 7
mov word [rbp + 0x440], ax
mov eax, dword [rbx]
mov dword [rbp + 0x518], eax
mov edx, 1
xor ecx, ecx
call fcn.18015d850
test al, al
je 0x180085c8f
lea rcx, [rbp - 0x28]
call fcn.1800763f0
test al, al
je 0x18008622e
lea rax, [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r13
lea rax, [rbp + 0x508]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x518]
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x20], 0
lea rdx, [rbp + 0x20]
lea rcx, str.Save_Property
call fcn.18017e590
test al, al
je 0x180086aef
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.18005bc50
mov qword [rbp + 0x28], 0
lea rdx, [rbp + 0x28]
lea rcx, str.Unsave_Property
call fcn.18017e590
test al, al
je 0x18008623a
mov dl, 1
lea rcx, [rsp + 0x58]
call fcn.18005bc50
call fcn.180160b40
jmp 0x180085c8f
mov ecx, dword [0x1804d7e4c]
add rcx, rbx
lea rdx, [rbp + 0x110]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180086b48
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x240], rcx
mov qword [rbp + 0x248], rax
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x30]
call fcn.180200970
nop
mov r8, qword [rbp + 0x128]
cmp r8, 8
jb 0x180086b8e
inc r8
mov rdx, qword [rbp + 0x110]
lea rcx, [rbp + 0x110]
call fcn.18006a570
xor ebx, ebx
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x128], 7
mov word [rbp + 0x110], bx
mov ecx, dword [0x1804c06a8]
add rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x460]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180086bce
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x230], rcx
mov qword [rbp + 0x238], rax
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x50]
call fcn.180200970
nop
mov rdx, qword [rbp + 0x478]
cmp rdx, 8
jb 0x180086c37
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x460]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180086c32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e39
call fcn.18026a1a0
mov qword [rbp + 0x470], rbx
mov qword [rbp + 0x478], 7
mov word [rbp + 0x460], bx
lea r8, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae r8, qword [rbp + 0x50]
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rdx, qword [rbp + 0x30]
lea rcx, str._s__s
call fcn.180187460
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x180086cb4
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180086caf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e3f
call fcn.18026a1a0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x180086cff
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180086cfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180086e45
call fcn.18026a1a0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
jmp 0x180085c91
xor esi, esi
cmp byte [rbp + 0x228], 0
jne 0x180086d76
mov rdi, qword [rbp + 0x220]
mov rbx, qword [rdi + 8]
mov rdx, qword [rbx - 8]
cmp rdx, 0x10
jb 0x180086d61
mov rcx, qword [rbx - 0x20]
inc rdx
cmp rdx, 0x1000
jb 0x180086d5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180086db5
mov rcx, r8
call fcn.18026a1a0
mov qword [rbx - 0x10], rsi
mov qword [rbx - 8], 0xf
mov byte [rbx - 0x20], 0
add qword [rdi + 8], 0xffffffffffffffe0
lea rcx, [rbp - 0x28]
call fcn.180021170
lea r11, [rsp + 0x5c0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
nop
call fcn.18028cdc8
int3