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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x360]
sub rsp, 0x460
movaps xmmword [rsp + 0x450], xmm6
mov rax, qword [0x140332240]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov rsi, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x18], rcx
xor r12d, r12d
test rdx, rdx
jne 0x140094a2a
call fcn.140044cc0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140094a79
lea rcx, [rdx + 8]
cmp rcx, rsi
je 0x140094a79
mov rbx, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140094a44
mov r9, qword [rsi]
mov rax, qword [rcx + 0x18]
cmp rbx, rax
ja 0x140094a71
mov rdi, rcx
cmp rax, 0xf
jbe 0x140094a59
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x140094a79
mov rdx, rbx
call fcn.140019700
mov rbx, qword [rsi + 0x10]
mov rcx, rsi
mov rdi, qword [rsi + 0x18]
cmp rdi, 0xf
jbe 0x140094a8d
mov rcx, qword [rsi]
mov qword [rsp + 0x20], 0xc
lea r9, str.bin_content_
mov rdx, rbx
call fcn.1400324a0
test rax, rax
je 0x140094b08
movabs rax, 0x7fffffffffffffff
sub rax, rbx
cmp rax, 0xc
jb 0x140095bb2
mov rax, rsi
cmp rdi, 0xf
jbe 0x140094acd
mov rax, qword [rsi]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xc
lea r9, str.bin_content_
lea rcx, [rsp + 0x50]
call fcn.1400191e0
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.140036860
lea rcx, [rsp + 0x50]
call fcn.140016e20
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x230]
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140094b29
mov rdx, qword [rsi]
lea rcx, [rbp + 0x230]
call fcn.140097440
nop
cmp qword [rbp + 0x2c0], 0
jne 0x140094bb8
lea rcx, str.Failed_to_open_file
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
nop
mov rax, qword [rbp + 0x230]
movsxd rdx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rdx + 0x230], rax
mov rax, qword [rbp + 0x230]
movsxd rdx, dword [rax + 4]
lea r8d, [rdx - 0xb0]
mov dword [rbp + rdx + 0x22c], r8d
lea rcx, [rbp + 0x240]
call fcn.14008d9e0
lea rcx, [rbp + 0x248]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x2e0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, rsi
call fcn.140016e20
xor al, al
jmp 0x140095b7a
lea rax, [rbp + 0x230]
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], r12
xor eax, eax
mov dword [rbp + 0x220], eax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x170], xmm0
movaps xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x130], xmm0
mov word [rbp + 0x13e], r12w
movdqa xmmword [rbp + 0x140], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x150], xmm1
movdqa xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], r12
mov qword [rbp + 0x178], 0x400
mov dword [rbp + 0x180], r12d
mov qword [rbp + 0x188], r12
lea ecx, [rax + 0x28]
call fcn.14026cc5c
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax], r12
mov qword [rax + 8], 0x10000
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r12
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], rax
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x130]
call fcn.140098fd0
cmp word [rbp + 0x13e], 3
je 0x140094d61
lea rdx, str.Invalid_file_format:_Expected_a_JSON_object
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140031320
lea rdx, [0x1400159a0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdi, qword [rbp + 0x148]
test rdi, rdi
je 0x140094d0b
cmp qword [rdi], 0
je 0x140094cde
mov rcx, qword [rdi]
cmp rcx, qword [rdi + 0x10]
je 0x140094cde
mov rbx, qword [rcx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi], rbx
test rbx, rbx
jne 0x140094cc3
mov rax, qword [rdi]
test rax, rax
je 0x140094cf0
cmp rax, qword [rdi + 0x10]
jne 0x140094cf0
mov qword [rax + 8], r12
mov edx, 1
mov rcx, qword [rdi + 0x20]
call fcn.14026cc4c
mov edx, 0x28
mov rcx, rdi
call fcn.14026cc4c
mov rcx, qword [rbp + 0x160]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, 1
mov rcx, qword [rbp + 0x158]
call fcn.14026cc4c
nop
mov rax, qword [rbp + 0x230]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x230], rax
mov rax, qword [rbp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x22c], edx
jmp 0x140094b82
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
mov qword [rbp + 0x40], r12
xor eax, eax
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0x190]
lea rcx, [0x140359100]
call fcn.140032410
nop
mov rbx, qword [rbp + 0x190]
mov rdi, qword [rbp + 0x198]
cmp rbx, rdi
je 0x140094e67
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [0x140359100]
call fcn.14002f050
test rax, rax
je 0x140094e4c
cmp dword [rax + 0x20], 4
jne 0x140094e5a
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x140094def
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.140016990
mov eax, dword [rbx]
mov dword [rbp + 0x70], eax
mov rdx, qword [rbp + 0x38]
cmp rdx, qword [rbp + 0x40]
je 0x140094e33
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov dword [rdx + 0x20], eax
add qword [rbp + 0x38], 0x28
jmp 0x140094e41
lea r8, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.1400991c0
nop
lea rcx, [rbp + 0x50]
call fcn.140016e20
jmp 0x140094e5a
mov edx, dword [rbx]
lea rcx, str.Entity__d_from_ecs.getAllEntities___doesnt_have_BaseInfo_n
call fcn.14003af50
add rbx, 4
cmp rbx, rdi
jne 0x140094db0
xorps xmm1, xmm1
movdqu xmmword [rbp - 8], xmm1
mov qword [rbp + 8], r12
mov eax, dword [0x1403592b8]
mov dword [rbp + 0x50], eax
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov ecx, 0x30
call fcn.14026cc5c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x68], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov rcx, qword [0x1403592e8]
mov qword [rbp + 0x80], rcx
mov rcx, qword [0x1403592f0]
mov qword [rbp + 0x88], rcx
mov rdx, qword [0x1403592d8]
sub rdx, qword [0x1403592d0]
sar rdx, 3
mov r8, rax
lea rcx, [rbp + 0x68]
call fcn.140015830
mov rdi, qword [0x1403592c0]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140094f0f
nop
lea r8, [rbx + 0x10]
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x50]
call fcn.1400a4df0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x140094ef0
mov rdi, qword [rbp + 0x58]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140094f55
mov rdx, qword [rbp]
nop
lea r8, [rbx + 0x10]
cmp rdx, qword [rbp + 8]
je 0x140094f3d
mov eax, dword [r8]
mov dword [rdx], eax
mov rdx, qword [rbp]
add rdx, 4
mov qword [rbp], rdx
jmp 0x140094f4a
lea rcx, [rbp - 8]
call fcn.140043b80
mov rdx, qword [rbp]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x140094f20
lea rcx, [rbp + 0x68]
call fcn.1400153e0
lea rcx, [rbp + 0x58]
call fcn.1400a5040
movabs r13, 0xffffffffffff
mov r14, qword [rbp + 0x138]
and r14, r13
mov r15d, dword [rbp + 0x130]
shl r15, 5
add r15, r14
mov r8d, 0x1000
cmp r14, r15
je 0x140095999
test word [r14 + 0xe], r8w
je 0x140094fa4
mov rdx, r14
jmp 0x140094fab
mov rdx, qword [r14 + 8]
and rdx, r13
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140094fc1
lea rcx, [rbp + 0x10]
call fcn.140016ce0
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rcx, qword [rbp + 0x10]
mov qword [rsp + 0x20], 6
lea r9, str.PREFAB
mov rdx, qword [rbp + 0x20]
call fcn.1400324a0
mov rbx, rax
lea rcx, [rbp + 0x10]
call fcn.140016e20
cmp rbx, 0xffffffffffffffff
jne 0x14009597e
mov eax, 0x1000
test word [r14 + 0xe], ax
je 0x140095022
mov rdx, r14
jmp 0x140095029
mov rdx, qword [r14 + 8]
and rdx, r13
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r12
mov qword [rbp + 0x108], r12
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140095050
lea rcx, [rbp + 0xf0]
call fcn.140016ce0
nop
mov rbx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x108]
mov rsi, qword [rbp + 0xf0]
mov rdi, qword [rbp + 0x38]
cmp rbx, rdi
je 0x14009510f
cmp rax, 0xf
seta r13b
mov r12, qword [rbp + 0x100]
nop word [rax + rax]
lea rdx, [rbp + 0xf0]
test r13b, r13b
cmovne rdx, rsi
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400950bf
mov rcx, qword [rbx]
cmp r8, r12
jne 0x1400950cd
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400950d6
add rbx, 0x28
cmp rbx, rdi
jne 0x1400950a0
mov rax, qword [rbp + 0x108]
xor r12d, r12d
movabs r13, 0xffffffffffff
cmp rbx, rdi
je 0x14009510f
lea rdx, [rbp + 0xf0]
cmp rax, 0xf
cmova rdx, rsi
lea rcx, str.Skipped_making_another__s__Persistent__n
call fcn.14003af50
jmp 0x140095972
mov eax, dword [0x140359358]
mov dword [rbp - 0x10], eax
inc eax
mov dword [0x140359358], eax
mov rdi, qword [r14 + 0x18]
and rdi, r13
mov esi, dword [r14 + 0x10]
shl rsi, 5
add rsi, rdi
cmp rdi, rsi
je 0x140095872
lea rax, [rdi + 0x10]
mov qword [rsp + 0x48], rax
mov ecx, 0x1000
test word [rax - 2], cx
je 0x140095154
mov rdx, rdi
jmp 0x14009515b
mov rdx, qword [rax - 8]
and rdx, r13
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], r12
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140095180
lea rcx, [rbp + 0x90]
call fcn.140016ce0
nop
lea rbx, [rbp + 0x90]
mov rdx, qword [rbp + 0x90]
mov r9, qword [rbp + 0xa8]
cmp r9, 0xf
cmova rbx, rdx
mov r13, qword [rbp + 0xa0]
cmp r13, 1
jb 0x140095222
lea r12, [rbx + r13]
mov r8, r12
sub r8, rbx
mov edx, 0x20
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x140095211
nop dword [rax]
cmp byte [rax], 0x20
jne 0x1400951e9
xor ecx, ecx
jmp 0x1400951ee
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140095334
inc rax
mov r8, r12
sub r8, rax
mov edx, 0x20
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400951e0
mov rdx, qword [rbp + 0x90]
mov r9, qword [rbp + 0xa8]
xor r12d, r12d
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], r12
cmp r13, rcx
jb 0x140095bac
sub r13, rcx
mov r8, 0xffffffffffffffff
cmp r13, r8
cmovb r8, r13
lea rax, [rbp + 0x90]
cmp r9, 0xf
cmova rax, rdx
lea rdx, [rax + rcx]
lea rcx, [rbp + 0xd0]
call fcn.140016ce0
nop
lea rdx, [rbp + 0xd0]
mov r12, qword [rbp + 0xd0]
mov r13, qword [rbp + 0xe8]
cmp r13, 0xf
cmova rdx, r12
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
mov rbx, qword [rbp + 0xe0]
test rbx, rbx
je 0x1400952da
movabs r12, 0x100000001b3
nop
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, rbx
jb 0x1400952c0
mov r12, qword [rbp + 0xd0]
lea r8, [rbp + 0xd0]
lea rdx, [rbp - 0x78]
lea rcx, [0x140359140]
call fcn.140016850
mov rcx, qword [rax + 8]
mov rdx, qword [0x140359148]
test rcx, rcx
cmovne rdx, rcx
cmp rdx, qword [0x140359148]
je 0x14009534d
mov rcx, qword [rdx + 0x68]
test rcx, rcx
je 0x1400959d9
mov rax, qword [rcx]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0xb0]
call qword [rax + 0x10]
movdqu xmm6, xmmword [rbp + 0xc0]
jmp 0x140095370
sub rax, rbx
mov rdx, qword [rbp + 0x90]
mov r9, qword [rbp + 0xa8]
xor r12d, r12d
jmp 0x140095229
call fcn.1401c51d0
mov qword [rbp + 0xb0], rax
call fcn.1401c51d0
mov qword [rbp + 0xb8], rax
xorps xmm6, xmm6
movdqu xmmword [rbp + 0xc0], xmm6
lea rcx, [rbp + 0xd0]
cmp r13, 0xf
cmova rcx, r12
cmp rbx, 0x15
jne 0x140095810
mov r8, rbx
lea rdx, str.NativeScriptComponent
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140095810
call fcn.14002fe50
lea rdx, [rbp - 0x10]
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400953cd
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x68]
lea rcx, [0x140359300]
call fcn.140030a90
mov rbx, qword [rbp + 0xb0]
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x88], 0
je 0x140095426
call fcn.1401c51d0
mov rbx, rax
mov qword [rbp + 0x10], rax
call fcn.1401c51d0
mov qword [rbp + 0x18], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov rax, qword [rbp + 0xc8]
cmp qword [rbp + 0xc0], rax
je 0x140095420
mov qword [rbp + 0x20], rax
mov rbx, qword [rbp + 0xb8]
mov qword [rbp + 0x10], rbx
lea rax, [rbp + 0x20]
jmp 0x140095454
mov qword [rsp + 0x50], rbx
mov rax, qword [rbp + 0xb8]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0xc8]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x60]
mov r12, qword [rax]
test r12, r12
jne 0x140095463
call fcn.1401c51d0
jmp 0x140095483
mov rax, qword [rbx]
call qword [rax + 0x80]
mov r8, qword [rax]
mov rdx, r12
lea rcx, [rbp + 0x200]
call r8
mov rax, qword [rbp + 0x208]
mov qword [rsp + 0x40], rax
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x40]
call fcn.1401d09b0
nop
mov r13, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x1b8]
mov qword [rsp + 0x40], rax
mov rcx, qword [rbp + 0x1f8]
cmp r13, rax
jne 0x1400954c1
mov r13, rax
jmp 0x14009554a
test rcx, rcx
sete al
test rcx, rcx
je 0x140095545
test al, al
jne 0x1400959e7
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x10]
test al, al
mov rax, qword [rbp + 0x1b8]
mov qword [rsp + 0x40], rax
jne 0x14009553c
add r13, 8
cmp r13, rax
je 0x14009553c
nop word [rax + rax]
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
sete al
test rcx, rcx
je 0x140095545
test al, al
jne 0x1400959e7
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x10]
test al, al
mov rax, qword [rbp + 0x1b8]
mov qword [rsp + 0x40], rax
jne 0x14009553c
add r13, 8
cmp r13, rax
jne 0x140095500
mov rcx, qword [rbp + 0x1f8]
jmp 0x14009554a
mov rax, qword [rsp + 0x40]
cmp r13, rax
je 0x1400957f6
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13]
mov rdx, qword [rax + 8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xor eax, eax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], al
jne 0x140095580
lea rcx, [rbp + 0x10]
call fcn.140016ce0
nop
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
seta r12b
mov rbx, qword [rbp + 0x10]
cmova rcx, rbx
cmp qword [rbp + 0x20], 7
jne 0x14009578b
mov r8d, 7
lea rdx, str.Scripts
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14009578b
lea rdx, [rbp + 0x10]
test r12b, r12b
cmovne rdx, rbx
mov rcx, qword [rsp + 0x48]
call fcn.140016360
mov rdx, rax
mov qword [rsp + 0x70], rax
xor r8d, r8d
mov eax, r8d
mov dword [rbp - 0xc], eax
cmp dword [rdx], r8d
jbe 0x14009578b
movabs r9, 0xffffffffffff
nop word [rax + rax]
mov r12d, eax
add r12, r12
mov rcx, qword [rdx + 8]
and rcx, r9
mov rbx, qword [rcx + r12*8 + 8]
and rbx, r9
mov eax, dword [rcx + r12*8]
shl rax, 5
add rax, rbx
cmp rbx, rax
je 0x14009577b
nop dword [rax]
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x140095650
mov rdx, rbx
jmp 0x140095657
mov rdx, qword [rbx + 8]
and rdx, r9
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], r8
mov qword [rbp + 0x128], r8
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140095676
lea rcx, [rbp + 0x110]
call fcn.140016ce0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
lea rdx, [rbp + 0x110]
cmp qword [rbp + 0x128], 0xf
cmova rdx, qword [rbp + 0x110]
mov r8, qword [rbp + 0x120]
lea rcx, [rsp + 0x50]
call fcn.140016990
lea r8, [rsp + 0x50]
mov edx, dword [rbp - 0x10]
lea rcx, [0x140359100]
call fcn.14002fd80
lea r8, [rbp + 0x110]
lea rdx, [rbp - 0x58]
lea rcx, [0x140359180]
call fcn.14003f870
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x68]
test rcx, rcx
je 0x1400959e0
mov rax, qword [rcx]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x50]
call qword [rax + 0x10]
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rsp + 0x60], xmm1
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x50]
call fcn.140093ff0
nop
lea rcx, [rbp + 0x110]
call fcn.140016e20
add rbx, 0x20
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdx + 8]
movabs r9, 0xffffffffffff
and rcx, r9
mov rax, qword [rcx + r12*8 + 8]
and rax, r9
mov ecx, dword [rcx + r12*8]
shl rcx, 5
add rax, rcx
cmp rbx, rax
mov r8d, 0
jne 0x140095640
mov eax, dword [rbp - 0xc]
inc eax
mov dword [rbp - 0xc], eax
cmp eax, dword [rdx]
jb 0x140095610
lea rcx, [rbp + 0x10]
call fcn.140016e20
add r13, 8
cmp r13, qword [rbp + 0x1b8]
je 0x1400957e4
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
sete al
test rcx, rcx
je 0x1400957eb
test al, al
jne 0x1400959e7
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x10]
test al, al
jne 0x1400957e4
add r13, 8
cmp r13, qword [rbp + 0x1b8]
jne 0x1400957b0
mov rcx, qword [rbp + 0x1f8]
cmp r13, qword [rsp + 0x40]
jne 0x140095560
test rcx, rcx
je 0x14009582e
mov rax, qword [rcx]
lea rdx, [rbp + 0x1c0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x14009582e
movups xmm0, xmmword [rbp + 0xb0]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm6
lea rdx, [rbp + 0x50]
mov rcx, qword [rsp + 0x48]
call fcn.140093ff0
nop
lea rcx, [rbp + 0xd0]
call fcn.140016e20
nop
lea rcx, [rbp + 0x90]
call fcn.140016e20
add rdi, 0x20
mov rax, qword [rsp + 0x48]
add rax, 0x20
mov qword [rsp + 0x48], rax
cmp rdi, rsi
mov r12d, 0
movabs r13, 0xffffffffffff
jne 0x140095144
call fcn.1400307e0
mov ebx, eax
lea rdx, [rbp - 0x10]
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x140095972
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x48]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x140095972
mov rax, qword [rcx]
cmp dword [rax + rbx*4], 0
je 0x140095972
mov rax, qword [rcx + 0x18]
lea rcx, [rax + rbx*8]
mov rax, qword [rdx + 0x20]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx]
je 0x140095972
mov r8d, dword [rdx + 0x28]
mov dword [rbp - 0xc], r8d
cmp r8d, 0xffffffff
je 0x140095972
mov rdx, qword [rbp]
mov rcx, qword [rbp - 8]
call fcn.14026c260
mov rdx, qword [rbp]
cmp rax, rdx
jne 0x140095938
cmp rdx, qword [rbp + 8]
je 0x140095921
mov eax, dword [rbp - 0xc]
mov dword [rdx], eax
add qword [rbp], 4
lea r8, [rbp - 0xc]
lea rdx, [rbp - 0x38]
jmp 0x14009593f
lea r8, [rbp - 0xc]
lea rcx, [rbp - 8]
call fcn.140043b80
lea r8, [rbp - 0xc]
lea rdx, [rbp - 0x38]
jmp 0x14009593f
mov r8, rax
lea rdx, [rbp - 0x28]
lea rcx, [0x1403592b8]
call fcn.14002f5d0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x140095968
mov eax, dword [rbp - 0x10]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x140095972
lea r8, [rbp - 0x10]
call fcn.140031610
nop
lea rcx, [rbp + 0xf0]
call fcn.140016e20
add r14, 0x20
xor r12d, r12d
mov r8d, 0x1000
cmp r14, r15
jne 0x140094f98
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400959ff
mov rax, qword [rbp + 8]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, r8
jb 0x1400959ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400959ee
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
nop
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
nop
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
nop
call fcn.14026cc4c
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r12
lea rcx, [rbp + 0x190]
call fcn.140016ab0
nop
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x140095a9e
mov rdi, qword [rbp + 0x38]
cmp rbx, rdi
je 0x140095a37
mov rcx, rbx
call fcn.140016e20
add rbx, 0x28
cmp rbx, rdi
jne 0x140095a22
mov rbx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x40]
sub rcx, rbx
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rbx
mov ecx, 0x1000
cmp rdx, rcx
jb 0x140095a8a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140095a8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14026cc4c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r12
mov rdi, qword [rbp + 0x148]
test rdi, rdi
je 0x140095af8
cmp qword [rdi], 0
je 0x140095acb
mov rcx, qword [rdi]
cmp rcx, qword [rdi + 0x10]
je 0x140095acb
mov rbx, qword [rcx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi], rbx
test rbx, rbx
jne 0x140095ab0
mov rax, qword [rdi]
test rax, rax
je 0x140095add
cmp rax, qword [rdi + 0x10]
jne 0x140095add
mov qword [rax + 8], r12
mov edx, 1
mov rcx, qword [rdi + 0x20]
call fcn.14026cc4c
mov edx, 0x28
mov rcx, rdi
call fcn.14026cc4c
mov rcx, qword [rbp + 0x160]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, 1
mov rcx, qword [rbp + 0x158]
call fcn.14026cc4c
nop
mov rax, qword [rbp + 0x230]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x230], rax
mov rax, qword [rbp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x22c], edx
lea rcx, [rbp + 0x240]
call fcn.14008d9e0
lea rcx, [rbp + 0x248]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x2e0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, rsi
call fcn.140016e20
mov al, 1
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.14026cac0
mov rbx, qword [rsp + 0x4b0]
movaps xmm6, xmmword [rsp + 0x450]
add rsp, 0x460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140016a90
nop
call fcn.140016b20
int3