Function at 0x1400a78b0
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 [0x140353240]
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 0x1400a790a
call fcn.1400520e0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400a7959
lea rcx, [rdx + 8]
cmp rcx, rsi
je 0x1400a7959
mov rbx, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400a7924
mov r9, qword [rsi]
mov rax, qword [rcx + 0x18]
cmp rbx, rax
ja 0x1400a7951
mov rdi, rcx
cmp rax, 0xf
jbe 0x1400a7939
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 0x1400a7959
mov rdx, rbx
call fcn.1400251b0
mov rbx, qword [rsi + 0x10]
mov rcx, rsi
mov rdi, qword [rsi + 0x18]
cmp rdi, 0xf
jbe 0x1400a796d
mov rcx, qword [rsi]
mov qword [rsp + 0x20], 0xc
lea r9, str.bin_content_
mov rdx, rbx
call fcn.14003dfa0
test rax, rax
je 0x1400a79e8
movabs rax, 0x7fffffffffffffff
sub rax, rbx
cmp rax, 0xc
jb 0x1400a8a92
mov rax, rsi
cmp rdi, 0xf
jbe 0x1400a79ad
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.140024c90
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.140042360
lea rcx, [rsp + 0x50]
call fcn.140022880
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x230]
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1400a7a09
mov rdx, qword [rsi]
lea rcx, [rbp + 0x230]
call fcn.1400aa320
nop
cmp qword [rbp + 0x2c0], 0
jne 0x1400a7a98
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.1400a08c0
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.140022880
xor al, al
jmp 0x1400a8a5a
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.14028654c
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.1400abeb0
cmp word [rbp + 0x13e], 3
je 0x1400a7c41
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.14003ce20
lea rdx, [0x140021400]
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 0x1400a7beb
cmp qword [rdi], 0
je 0x1400a7bbe
mov rcx, qword [rdi]
cmp rcx, qword [rdi + 0x10]
je 0x1400a7bbe
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 0x1400a7ba3
mov rax, qword [rdi]
test rax, rax
je 0x1400a7bd0
cmp rax, qword [rdi + 0x10]
jne 0x1400a7bd0
mov qword [rax + 8], r12
mov edx, 1
mov rcx, qword [rdi + 0x20]
call fcn.14028653c
mov edx, 0x28
mov rcx, rdi
call fcn.14028653c
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.14028653c
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 0x1400a7a62
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, [0x14037d160]
call fcn.14003df10
nop
mov rbx, qword [rbp + 0x190]
mov rdi, qword [rbp + 0x198]
cmp rbx, rdi
je 0x1400a7d47
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [0x14037d160]
call fcn.14003ab40
test rax, rax
je 0x1400a7d2c
cmp dword [rax + 0x20], 4
jne 0x1400a7d3a
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 0x1400a7ccf
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.1400223f0
mov eax, dword [rbx]
mov dword [rbp + 0x70], eax
mov rdx, qword [rbp + 0x38]
cmp rdx, qword [rbp + 0x40]
je 0x1400a7d13
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 0x1400a7d21
lea r8, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.1400ac0a0
nop
lea rcx, [rbp + 0x50]
call fcn.140022880
jmp 0x1400a7d3a
mov edx, dword [rbx]
lea rcx, str.Entity__d_from_ecs.getAllEntities___doesnt_have_BaseInfo_n
call fcn.140047260
add rbx, 4
cmp rbx, rdi
jne 0x1400a7c90
xorps xmm1, xmm1
movdqu xmmword [rbp - 8], xmm1
mov qword [rbp + 8], r12
mov eax, dword [0x14037d318]
mov dword [rbp + 0x50], eax
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov ecx, 0x30
call fcn.14028654c
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 [0x14037d348]
mov qword [rbp + 0x80], rcx
mov rcx, qword [0x14037d350]
mov qword [rbp + 0x88], rcx
mov rdx, qword [0x14037d338]
sub rdx, qword [0x14037d330]
sar rdx, 3
mov r8, rax
lea rcx, [rbp + 0x68]
call fcn.140021290
mov rdi, qword [0x14037d320]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400a7def
nop
lea r8, [rbx + 0x10]
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x50]
call fcn.1400b7cd0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400a7dd0
mov rdi, qword [rbp + 0x58]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400a7e35
mov rdx, qword [rbp]
nop
lea r8, [rbx + 0x10]
cmp rdx, qword [rbp + 8]
je 0x1400a7e1d
mov eax, dword [r8]
mov dword [rdx], eax
mov rdx, qword [rbp]
add rdx, 4
mov qword [rbp], rdx
jmp 0x1400a7e2a
lea rcx, [rbp - 8]
call fcn.140050fa0
mov rdx, qword [rbp]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400a7e00
lea rcx, [rbp + 0x68]
call fcn.140020e40
lea rcx, [rbp + 0x58]
call fcn.1400b7f20
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 0x1400a8879
test word [r14 + 0xe], r8w
je 0x1400a7e84
mov rdx, r14
jmp 0x1400a7e8b
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 0x1400a7ea1
lea rcx, [rbp + 0x10]
call fcn.140022740
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.14003dfa0
mov rbx, rax
lea rcx, [rbp + 0x10]
call fcn.140022880
cmp rbx, 0xffffffffffffffff
jne 0x1400a885e
mov eax, 0x1000
test word [r14 + 0xe], ax
je 0x1400a7f02
mov rdx, r14
jmp 0x1400a7f09
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 0x1400a7f30
lea rcx, [rbp + 0xf0]
call fcn.140022740
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 0x1400a7fef
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 0x1400a7f9f
mov rcx, qword [rbx]
cmp r8, r12
jne 0x1400a7fad
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400a7fb6
add rbx, 0x28
cmp rbx, rdi
jne 0x1400a7f80
mov rax, qword [rbp + 0x108]
xor r12d, r12d
movabs r13, 0xffffffffffff
cmp rbx, rdi
je 0x1400a7fef
lea rdx, [rbp + 0xf0]
cmp rax, 0xf
cmova rdx, rsi
lea rcx, str.Skipped_making_another__s__Persistent__n
call fcn.140047260
jmp 0x1400a8852
mov eax, dword [0x14037d3b8]
mov dword [rbp - 0x10], eax
inc eax
mov dword [0x14037d3b8], eax
mov rdi, qword [r14 + 0x18]
and rdi, r13
mov esi, dword [r14 + 0x10]
shl rsi, 5
add rsi, rdi
cmp rdi, rsi
je 0x1400a8752
lea rax, [rdi + 0x10]
mov qword [rsp + 0x48], rax
mov ecx, 0x1000
test word [rax - 2], cx
je 0x1400a8034
mov rdx, rdi
jmp 0x1400a803b
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 0x1400a8060
lea rcx, [rbp + 0x90]
call fcn.140022740
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 0x1400a8102
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 0x1400a80f1
nop dword [rax]
cmp byte [rax], 0x20
jne 0x1400a80c9
xor ecx, ecx
jmp 0x1400a80ce
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400a8214
inc rax
mov r8, r12
sub r8, rax
mov edx, 0x20
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400a80c0
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 0x1400a8a8c
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.140022740
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 0x1400a81ba
movabs r12, 0x100000001b3
nop
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, rbx
jb 0x1400a81a0
mov r12, qword [rbp + 0xd0]
lea r8, [rbp + 0xd0]
lea rdx, [rbp - 0x78]
lea rcx, [0x14037d1a0]
call fcn.1400222b0
mov rcx, qword [rax + 8]
mov rdx, qword [0x14037d1a8]
test rcx, rcx
cmovne rdx, rcx
cmp rdx, qword [0x14037d1a8]
je 0x1400a822d
mov rcx, qword [rdx + 0x68]
test rcx, rcx
je 0x1400a88b9
mov rax, qword [rcx]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0xb0]
call qword [rax + 0x10]
movdqu xmm6, xmmword [rbp + 0xc0]
jmp 0x1400a8250
sub rax, rbx
mov rdx, qword [rbp + 0x90]
mov r9, qword [rbp + 0xa8]
xor r12d, r12d
jmp 0x1400a8109
call fcn.1401deac0
mov qword [rbp + 0xb0], rax
call fcn.1401deac0
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 0x1400a86f0
mov r8, rbx
lea rdx, str.NativeScriptComponent
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400a86f0
call fcn.14003b940
lea rdx, [rbp - 0x10]
lea rcx, [0x14037d360]
call fcn.14003aab0
test al, al
je 0x1400a82ad
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x68]
lea rcx, [0x14037d360]
call fcn.14003c580
mov rbx, qword [rbp + 0xb0]
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x88], 0
je 0x1400a8306
call fcn.1401deac0
mov rbx, rax
mov qword [rbp + 0x10], rax
call fcn.1401deac0
mov qword [rbp + 0x18], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov rax, qword [rbp + 0xc8]
cmp qword [rbp + 0xc0], rax
je 0x1400a8300
mov qword [rbp + 0x20], rax
mov rbx, qword [rbp + 0xb8]
mov qword [rbp + 0x10], rbx
lea rax, [rbp + 0x20]
jmp 0x1400a8334
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 0x1400a8343
call fcn.1401deac0
jmp 0x1400a8363
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.1401ea2a0
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 0x1400a83a1
mov r13, rax
jmp 0x1400a842a
test rcx, rcx
sete al
test rcx, rcx
je 0x1400a8425
test al, al
jne 0x1400a88c7
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 0x1400a841c
add r13, 8
cmp r13, rax
je 0x1400a841c
nop word [rax + rax]
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
sete al
test rcx, rcx
je 0x1400a8425
test al, al
jne 0x1400a88c7
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 0x1400a841c
add r13, 8
cmp r13, rax
jne 0x1400a83e0
mov rcx, qword [rbp + 0x1f8]
jmp 0x1400a842a
mov rax, qword [rsp + 0x40]
cmp r13, rax
je 0x1400a86d6
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 0x1400a8460
lea rcx, [rbp + 0x10]
call fcn.140022740
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 0x1400a866b
mov r8d, 7
lea rdx, str.Scripts
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400a866b
lea rdx, [rbp + 0x10]
test r12b, r12b
cmovne rdx, rbx
mov rcx, qword [rsp + 0x48]
call fcn.140021dc0
mov rdx, rax
mov qword [rsp + 0x70], rax
xor r8d, r8d
mov eax, r8d
mov dword [rbp - 0xc], eax
cmp dword [rdx], r8d
jbe 0x1400a866b
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 0x1400a865b
nop dword [rax]
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x1400a8530
mov rdx, rbx
jmp 0x1400a8537
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 0x1400a8556
lea rcx, [rbp + 0x110]
call fcn.140022740
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.1400223f0
lea r8, [rsp + 0x50]
mov edx, dword [rbp - 0x10]
lea rcx, [0x14037d160]
call fcn.14003b870
lea r8, [rbp + 0x110]
lea rdx, [rbp - 0x58]
lea rcx, [0x14037d1e0]
call fcn.14004bb80
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x68]
test rcx, rcx
je 0x1400a88c0
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.1400a6ed0
nop
lea rcx, [rbp + 0x110]
call fcn.140022880
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 0x1400a8520
mov eax, dword [rbp - 0xc]
inc eax
mov dword [rbp - 0xc], eax
cmp eax, dword [rdx]
jb 0x1400a84f0
lea rcx, [rbp + 0x10]
call fcn.140022880
add r13, 8
cmp r13, qword [rbp + 0x1b8]
je 0x1400a86c4
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
sete al
test rcx, rcx
je 0x1400a86cb
test al, al
jne 0x1400a88c7
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x10]
test al, al
jne 0x1400a86c4
add r13, 8
cmp r13, qword [rbp + 0x1b8]
jne 0x1400a8690
mov rcx, qword [rbp + 0x1f8]
cmp r13, qword [rsp + 0x40]
jne 0x1400a8440
test rcx, rcx
je 0x1400a870e
mov rax, qword [rcx]
lea rdx, [rbp + 0x1c0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x1400a870e
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.1400a6ed0
nop
lea rcx, [rbp + 0xd0]
call fcn.140022880
nop
lea rcx, [rbp + 0x90]
call fcn.140022880
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 0x1400a8024
call fcn.14003c2d0
mov ebx, eax
lea rdx, [rbp - 0x10]
lea rcx, [0x14037d360]
call fcn.14003aab0
test al, al
je 0x1400a8852
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x48]
lea rcx, [0x14037d360]
call fcn.14003c580
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400a8852
mov rax, qword [rcx]
cmp dword [rax + rbx*4], 0
je 0x1400a8852
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 0x1400a8852
mov r8d, dword [rdx + 0x28]
mov dword [rbp - 0xc], r8d
cmp r8d, 0xffffffff
je 0x1400a8852
mov rdx, qword [rbp]
mov rcx, qword [rbp - 8]
call fcn.140285b50
mov rdx, qword [rbp]
cmp rax, rdx
jne 0x1400a8818
cmp rdx, qword [rbp + 8]
je 0x1400a8801
mov eax, dword [rbp - 0xc]
mov dword [rdx], eax
add qword [rbp], 4
lea r8, [rbp - 0xc]
lea rdx, [rbp - 0x38]
jmp 0x1400a881f
lea r8, [rbp - 0xc]
lea rcx, [rbp - 8]
call fcn.140050fa0
lea r8, [rbp - 0xc]
lea rdx, [rbp - 0x38]
jmp 0x1400a881f
mov r8, rax
lea rdx, [rbp - 0x28]
lea rcx, [0x14037d318]
call fcn.14003b0c0
mov rcx, qword [rax]
add rcx, 0x18
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1400a8848
mov eax, dword [rbp - 0x10]
mov dword [rdx], eax
add qword [rcx + 8], 4
jmp 0x1400a8852
lea r8, [rbp - 0x10]
call fcn.14003d110
nop
lea rcx, [rbp + 0xf0]
call fcn.140022880
add r14, 0x20
xor r12d, r12d
mov r8d, 0x1000
cmp r14, r15
jne 0x1400a7e78
mov rsi, qword [rsp + 0x78]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400a88df
mov rax, qword [rbp + 8]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, r8
jb 0x1400a88ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a88ce
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.14028653c
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r12
lea rcx, [rbp + 0x190]
call fcn.140022510
nop
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x1400a897e
mov rdi, qword [rbp + 0x38]
cmp rbx, rdi
je 0x1400a8917
mov rcx, rbx
call fcn.140022880
add rbx, 0x28
cmp rbx, rdi
jne 0x1400a8902
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 0x1400a896a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400a896a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14028653c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r12
mov rdi, qword [rbp + 0x148]
test rdi, rdi
je 0x1400a89d8
cmp qword [rdi], 0
je 0x1400a89ab
mov rcx, qword [rdi]
cmp rcx, qword [rdi + 0x10]
je 0x1400a89ab
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 0x1400a8990
mov rax, qword [rdi]
test rax, rax
je 0x1400a89bd
cmp rax, qword [rdi + 0x10]
jne 0x1400a89bd
mov qword [rax + 8], r12
mov edx, 1
mov rcx, qword [rdi + 0x20]
call fcn.14028653c
mov edx, 0x28
mov rcx, rdi
call fcn.14028653c
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.14028653c
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.1400a08c0
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.140022880
mov al, 1
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.1402863b0
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.1400224f0
nop
call fcn.140022580
int3