Function at 0x180031c10
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x318]
sub rsp, 0x3e0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movzx esi, dl
mov r14, rcx
xor edi, edi
xor edx, edx
call fcn.18002fcf0
movups xmm6, xmmword [r14 + 0x50]
movups xmmword [rsp + 0x60], xmm6
movups xmm9, xmmword [r14 + 0x60]
movups xmmword [rsp + 0x70], xmm9
mov rcx, r14
call fcn.180033050
test al, al
je 0x180032abc
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
mov r8, qword [r14 + 0x58]
mov rbx, qword [rsp + 0x68]
cmp rbx, r8
jne 0x180031caf
mov r15d, edi
mov qword [rsp + 0x40], rdi
mov eax, 0xf
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x30], dil
jmp 0x180031cc9
sub r8, rbx
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.180050480
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
lea rcx, [rsp + 0x30]
cmp rax, 0xf
seta r13b
mov r12, qword [rsp + 0x30]
cmova rcx, r12
movsx eax, byte [rcx]
mov edi, 0x811c9dc5
test al, al
je 0x180031cfd
xor eax, edi
imul edx, eax, 0x1000193
inc rcx
call fcn.180004ba0
mov edi, eax
test sil, sil
je 0x180031d9b
lea rsi, [rsp + 0x30]
test r13b, r13b
cmovne rsi, r12
cmp r15, 2
jb 0x180031d86
lea r8, [rsi - 1]
add r8, r15
sub r8, rsi
mov edx, 0x3a
mov rcx, rsi
call fcn.1800fc5d0
xor r12d, r12d
test rax, rax
je 0x180031d89
cmp byte [rax], 0x3a
jne 0x180031d47
cmp byte [rax + 1], 0x3a
jne 0x180031d47
mov ecx, r12d
jmp 0x180031d4c
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x180031d71
inc rax
lea r8, [rsi - 1]
add r8, r15
sub r8, rax
mov edx, 0x3a
mov rcx, rax
call fcn.1800fc5d0
test rax, rax
jne 0x180031d37
jmp 0x180031d89
sub rax, rsi
cmp rax, 0xffffffffffffffff
je 0x180031d89
xor al, al
test al, al
je 0x180032af3
jmp 0x180031d9e
xor r12d, r12d
lea rcx, [rsp + 0x30]
call fcn.18000f9c0
test al, al
jne 0x180031d7a
mov al, 1
jmp 0x180031d7c
xor r12d, r12d
cmp edi, 0xbbb1f5a7
ja 0x180032306
je 0x180032254
cmp edi, 0xb069958
je 0x1800321a5
cmp edi, 0x4db211e5
je 0x1800320b9
cmp edi, 0x721b0bfa
je 0x180031ff5
cmp edi, 0x80fc2e47
jne 0x180032336
mov byte [rbp - 0x39], 0
mov qword [rbp - 0x38], 0xf
mov qword [rbp - 0x30], 0xf
movsd xmm0, qword [str.NOT_IN_FUNCTION]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [0x180129668]
mov dword [rbp - 0x40], eax
movzx eax, word [0x18012966c]
mov word [rbp - 0x3c], ax
movzx eax, byte [0x18012966e]
mov byte [rbp - 0x3a], al
mov byte [rbp - 0x39], 0
mov rax, qword [r14 + 0x38]
mov rbx, qword [r14 + 0x40]
cmp rax, rbx
je 0x180031e83
sub rbx, rax
sar rbx, 3
sub rbx, 1
je 0x180031e83
nop dword [rax]
mov rax, qword [r14 + 0x38]
mov rdx, qword [rax + rbx*8 - 8]
cmp dword [rdx + 8], 0
jne 0x180031e7d
mov rax, qword [rax + rbx*8]
cmp dword [rax + 8], 3
jne 0x180031e7d
add rdx, 0x10
lea rax, [rbp - 0x48]
cmp rax, rdx
je 0x180031e7d
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180031e74
mov rdx, qword [rdx]
lea rcx, [rbp - 0x48]
call fcn.18002d900
sub rbx, 1
jne 0x180031e40
mov ecx, 0x30
call fcn.1800c6530
mov rdi, rax
mov qword [rbp + 0x330], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
lea rdx, [rbp - 0x48]
mov rcx, rbx
call fcn.1800295a0
nop
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x28]
call fcn.180090f90
nop
mov edi, 0xffffffff
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x180031f1f
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180031f1f
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180031f1f
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0xd0], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x60]
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x320]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x180031f91
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180031f9e
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x320]
test rcx, rcx
je 0x180031fb6
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x180031fec
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180031fec
mov rbx, qword [rbp - 0x20]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180031fec
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp - 0x48]
jmp 0x180032aa8
movsd xmm0, qword [0x18012b700]
movsd qword [rbp + 0x330], xmm0
lea rdx, [rbp + 0x330]
lea rcx, [rbp + 0x70]
call fcn.1800400b0
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0xf0], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x338]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x18003208b
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180032098
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x338]
test rcx, rcx
je 0x1800320b0
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rbx, qword [rbp + 0x78]
jmp 0x180032163
mov dl, 1
lea rcx, [rbp + 0x80]
call fcn.180003890
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x110], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x28]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x18003213a
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180032147
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x18003215c
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rbx, qword [rbp + 0x88]
test rbx, rbx
je 0x180032aae
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180032aae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180032aae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x180032aae
xor edx, edx
lea rcx, [rbp + 0x90]
call fcn.180003890
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x130], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x180032226
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180032233
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x180032248
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rbx, qword [rbp + 0x98]
jmp 0x180032163
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xa0]
call fcn.1800401e0
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x150], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x1800322d8
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x1800322e5
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1800322fa
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rbx, qword [rbp + 0xa8]
jmp 0x180032163
cmp edi, 0xc0a8fe33
je 0x1800328a0
cmp edi, 0xda0c196e
je 0x1800326cf
cmp edi, 0xe740d999
je 0x18003260b
cmp edi, 0xfbf897bb
je 0x1800324cc
movups xmm8, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x68], xmm8
movups xmm7, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x58], xmm7
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
movq rax, xmm9
cmp rbx, rax
je 0x180032414
cmp byte [rbx], 0x60
jne 0x180032414
mov r8, qword [r14 + 0x58]
dec r8
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rdx, xmm0
inc rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
cmp rdx, r8
jne 0x1800323b3
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
jmp 0x1800323c0
sub r8, rdx
lea rcx, [rsp + 0x60]
call fcn.180050480
psrldq xmm7, 8
movq rdx, xmm7
cmp rdx, 0xf
jbe 0x180032402
inc rdx
movq rcx, xmm8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800323fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180032b58
call fcn.1800c63ec
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x58], xmm1
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x60]
call fcn.1800295a0
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
mov r8, rax
lea rdx, [rbp + 0x330]
mov rcx, r14
call fcn.180057970
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x180032463
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180032470
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x330]
test rcx, rcx
je 0x180032488
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x180032aae
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800324c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180032aed
call fcn.1800c63ec
jmp 0x180032aae
mov rcx, qword [r14 + 0x28]
mov rax, qword [r14 + 0x30]
test rax, rax
je 0x1800324dd
lock inc dword [rax + 8]
mov qword [rbp - 0x78], rcx
mov rax, qword [r14 + 0x30]
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x18]
call fcn.180090f90
nop
mov edi, 0xffffffff
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x180032534
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180032534
mov rbx, qword [rbp - 0x70]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180032534
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x160], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x170], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x60]
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x1800325a3
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x1800325b0
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1800325c5
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x180032aae
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180032aae
mov rbx, qword [rbp - 0x10]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180032aae
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x180032aae
movsd xmm0, qword [0x18012b6f8]
movsd qword [rbp + 0x330], xmm0
lea rdx, [rbp + 0x330]
lea rcx, [rbp + 0xb0]
call fcn.1800400b0
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x190], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x48]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x1800326a1
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x1800326ae
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x1800326c3
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rbx, qword [rbp + 0xb8]
jmp 0x180032163
mov ecx, 0x18
call fcn.1800c6530
mov rbx, rax
mov qword [rbp + 0x320], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_struct_chaiscript::dispatch::Placeholder_Object_.0
mov qword [rbx], rax
lea rsi, [rbx + 0x10]
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], rbx
mov ecx, 0x20
call fcn.1800c6530
mov rdi, rax
mov qword [rbp + 0x320], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
lea rax, vtable.type_info.0
mov qword [rdi + 8], rax
lea rax, vtable.chaiscript::detail::Any::Data_Impl_class_std::shared_ptr_struct_chaiscript::dispatch::Placeholder_Object__.0
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rbx
mov qword [rbp + 0x330], rdi
lea rax, vtable.type_info.0
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], r12d
mov ecx, 0x50
call fcn.1800c6530
mov qword [rbp + 0x320], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_obj2_struct_chaiscript::Boxed_Value::Data_.0
mov qword [rax], rcx
lea rcx, [rax + 0x10]
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rbp - 0x58]
movsd qword [rcx + 0x10], xmm1
mov qword [rcx + 0x18], rdi
mov qword [rcx + 0x20], rsi
mov qword [rcx + 0x28], rsi
mov qword [rcx + 0x30], r12
mov word [rcx + 0x38], 0
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x1a0], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x1b0], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rsp + 0x20], xmm0
movd r9d, xmm6
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x50]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x18003283b
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180032848
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x18003285d
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18003289b
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18003289b
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x18003289b
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x180032aae
mov dword [rbp + 0x14], r12d
mov qword [rbp + 0x18], 0xc
mov qword [rbp + 0x20], 0xf
movsd xmm0, qword [str.NOT_IN_CLASS]
movsd qword [rbp + 8], xmm0
mov eax, dword [0x180129678]
mov dword [rbp + 0x10], eax
mov byte [rbp + 0x14], 0
mov rax, qword [r14 + 0x38]
mov rbx, qword [r14 + 0x40]
cmp rax, rbx
je 0x180032941
sub rbx, rax
sar rbx, 3
dec rbx
cmp rbx, 1
jbe 0x180032941
nop dword [rax + rax]
mov rcx, qword [r14 + 0x38]
mov rdx, qword [rcx + rbx*8 - 0x10]
cmp dword [rdx + 8], 0
jne 0x180032938
mov rax, qword [rcx + rbx*8 - 8]
cmp dword [rax + 8], 0
jne 0x180032938
mov rax, qword [rcx + rbx*8]
cmp dword [rax + 8], 3
jne 0x180032938
add rdx, 0x10
lea rax, [rbp + 8]
cmp rax, rdx
je 0x180032938
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18003292f
mov rdx, qword [rdx]
lea rcx, [rbp + 8]
call fcn.18002d900
dec rbx
cmp rbx, 1
ja 0x1800328f0
mov ecx, 0x30
call fcn.1800c6530
mov rdi, rax
mov qword [rbp + 0x320], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
lea rdx, [rbp + 8]
mov rcx, rbx
call fcn.1800295a0
nop
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 8]
call fcn.180090f90
nop
mov edi, 0xffffffff
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1800329dd
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1800329dd
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1800329dd
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
nop
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x1d0], xmm1
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x60]
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x58]
mov rcx, r14
call fcn.180059520
nop
mov rdx, qword [r14 + 0x40]
cmp rdx, qword [r14 + 0x48]
je 0x180032a4c
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
add qword [r14 + 0x40], 8
jmp 0x180032a59
mov r8, rax
lea rcx, [r14 + 0x38]
call fcn.180077230
nop
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x180032a6e
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x10]
nop
mov rcx, qword [rbp]
test rcx, rcx
je 0x180032aa4
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180032aa4
mov rbx, qword [rbp]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180032aa4
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 8]
call fcn.18002b8e0
nop
lea rcx, [rsp + 0x30]
call fcn.18002b8e0
mov al, 1
jmp 0x180032abe
xor al, al
lea r11, [rsp + 0x3e0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800e29c4
nop
lea rcx, [r14 + 0x28]
call fcn.1800032c0
mov rdi, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
lea rcx, [rbp + 0x330]
call fcn.1800101b0
mov rbx, rax
lea r8, [rsp + 0x30]
lea rdx, str.Invalid_Object_Name:
lea rcx, [rbp + 0x1e0]
call fcn.1800392f0
nop
mov r9, rdi
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x200]
call fcn.180010640
lea rdx, [0x1801598b0]
lea rcx, [rbp + 0x200]
call fcn.1800c864c
nop
call fcn.1800e29c4
int3