Function at 0x14006edb0
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 - 0x6c0]
sub rsp, 0x7c0
mov rax, qword [0x14010cfb0]
xor rax, rsp
mov qword [rbp + 0x6b0], rax
mov rsi, rdx
mov qword [rsp + 0x50], rcx
mov qword [rbp + 0x4a0], rdx
xor edi, edi
xor edx, edx
mov r8d, 0x118
lea rcx, [rbp + 0x4b0]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsi + 0x10]
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rax, 5
jb 0x14006ffa9
mov r9, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14006ee30
mov r9, qword [rsi]
mov qword [rsp + 0x30], 5
lea rax, str..json
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x2e0]
call fcn.14006ddd0
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x4b0]
call fcn.1400ace60
nop
mov rax, qword [rbp + 0x4b0]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx + 0x4c0], 6
je 0x14006ef45
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsi + 0x10]
mov rax, rbx
sub rax, rcx
cmp rax, 0xf
jb 0x14006ffaf
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14006eeb0
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xf
lea r9, str.Missing_asset:
lea rcx, [rbp + 0x1a0]
call fcn.14006ddd0
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], rdi
mov r8d, 0x1b
lea rdx, str._asset_manager::load_asset_
lea rcx, [rbp + 0xc0]
call fcn.14006db40
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x48], rax
cmp byte [0x1401126a4], 0
je 0x14006ffb5
lea rcx, [rbp + 0xc0]
call fcn.14006da40
nop
lea rcx, [rbp + 0x1a0]
call fcn.14006da40
mov qword [rbp + 0x3f0], rdi
lea r8, [rbp + 0x3b8]
lea rdx, [rbp + 0x4b0]
lea rcx, [rbp + 0x5e0]
call fcn.140072820
nop
lea rcx, [rbp + 0x4c8]
call fcn.140071cf0
test rax, rax
jne 0x14006ef9a
mov rax, qword [rbp + 0x4b0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x4b0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], rdi
mov r8d, 0xa
lea rdx, str.asset_type
lea rcx, [rbp - 0x50]
call fcn.14006db40
mov rdi, 0xffffffffffffffff
cmp byte [rbp + 0x5e0], 1
jne 0x14006f05c
mov r13, qword [rbp + 0x5e8]
mov rbx, qword [r13]
lea r8, [rbp - 0x50]
lea rdx, [rbp + 0xa8]
mov rcx, r13
call fcn.140076f70
mov r14, qword [rbp + 0xb8]
cmp byte [r14 + 0x19], 0
jne 0x14006f04f
lea rdx, [r14 + 0x20]
cmp qword [r14 + 0x38], 0x10
jb 0x14006f00e
mov rdx, qword [r14 + 0x20]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rcx, qword [rbp - 0x50]
mov r12, qword [r14 + 0x30]
mov r15, qword [rbp - 0x40]
mov r8, r15
cmp r12, r15
cmovb r8, r12
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14006f048
cmp r15, r12
jae 0x14006f040
mov eax, edi
jmp 0x14006f048
xor eax, eax
cmp r15, r12
seta al
shr eax, 0x1f
test al, al
je 0x14006f053
mov r14, qword [r13]
cmp r14, rbx
je 0x14006f05c
xor bl, bl
jmp 0x14006f05e
mov bl, 1
lea rcx, [rbp - 0x50]
call fcn.14006da40
movabs r13, 0x7fffffffffffffff
test bl, bl
je 0x14006f186
lea rax, [rbp + 0x28]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsi + 0x10]
mov rax, r13
sub rax, rcx
cmp rax, 0xf
jb 0x14007006d
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14006f0a3
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xf
lea r9, str.Invalid_asset:
lea rcx, [rbp + 0x2c0]
call fcn.14006ddd0
nop
mov r8d, 0x13
lea rdx, str._Missing_asset_type
lea rcx, [rbp + 0x2c0]
call fcn.14006daa0
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
xor ebx, ebx
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
lea rax, [rbp + 0x28]
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0xf8], rbx
lea r8d, [rbx + 0x1b]
lea rdx, str._asset_manager::load_asset_
lea rcx, [rbp + 0xe0]
call fcn.14006db40
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x40], rax
cmp byte [0x1401126a4], bl
je 0x140070073
lea rcx, [rbp + 0xe0]
call fcn.14006da40
nop
lea rcx, [rbp + 0x28]
call fcn.14006da40
nop
lea rcx, [rbp + 0x2c0]
call fcn.14006da40
jmp 0x14006f188
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
mov r8d, 0xa
lea rdx, str.asset_type
lea rcx, [rsp + 0x78]
call fcn.14006db40
nop
cmp byte [rbp + 0x5e0], 1
jne 0x140070128
mov r12, qword [rbp + 0x5e8]
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
mov rcx, r12
call fcn.140076f70
mov rbx, qword [rbp - 0x58]
cmp byte [rbx + 0x19], 0
jne 0x14006f231
lea rdx, [rbx + 0x20]
cmp qword [rbx + 0x38], 0x10
jb 0x14006f1ee
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rcx, qword [rsp + 0x78]
mov r15, qword [rbx + 0x30]
mov r14, qword [rbp - 0x78]
mov r8, r14
cmp r15, r14
cmovb r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14006f22a
cmp r14, r15
jae 0x14006f222
mov eax, edi
jmp 0x14006f22a
xor eax, eax
cmp r14, r15
seta al
shr eax, 0x1f
test al, al
je 0x14006f235
mov rbx, qword [r12]
mov rax, qword [rbp + 0x5e8]
cmp rbx, qword [rax]
je 0x140070173
lea rdx, [rbx + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400714d0
nop
lea rcx, [rsp + 0x78]
call fcn.14006da40
movzx eax, byte [rsp + 0x60]
cmp al, 3
je 0x14006f380
lea rax, [rbp + 0x48]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsi + 0x10]
mov rax, r13
sub rax, rcx
cmp rax, 0xf
jb 0x1400701ad
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14006f295
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xf
lea r9, str.Invalid_asset:
lea rcx, [rbp + 0x2a0]
call fcn.14006ddd0
nop
mov r8d, 0x1c
lea rdx, str._asset_type_should_be_string
lea rcx, [rbp + 0x2a0]
call fcn.14006daa0
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
xor r14d, r14d
mov qword [rbp + 0x58], r14
mov qword [rbp + 0x60], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
lea rax, [rbp + 0x48]
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], r14
lea r8d, [r14 + 0x1b]
lea rdx, str._asset_manager::load_asset_
lea rcx, [rbp + 0x100]
call fcn.14006db40
lea rax, [rbp + 0x100]
mov qword [rsp + 0x40], rax
cmp byte [0x1401126a4], r14b
je 0x1400701b3
lea rcx, [rbp + 0x100]
call fcn.14006da40
nop
lea rcx, [rbp + 0x48]
call fcn.14006da40
nop
lea rcx, [rbp + 0x2a0]
call fcn.14006da40
movzx eax, byte [rsp + 0x60]
jmp 0x14006f383
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x690], xmm0
movdqa xmm1, xmmword [0x1400f6900]
movdqu xmmword [rbp + 0x6a0], xmm1
mov byte [rbp + 0x690], 0
cmp al, 3
sete cl
jne 0x140070262
mov rdx, r14
test cl, cl
cmovne rdx, qword [rsp + 0x68]
lea rcx, [rbp + 0x690]
call fcn.1400717e0
lea rdx, [rbp + 0x690]
lea rcx, [rbp + 0x338]
call fcn.140071900
mov r9, rax
mov ecx, r14d
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14006f3ec
mov rdx, qword [rax]
movzx r8d, byte [rdx]
test r8b, r8b
je 0x14006f420
nop word [rax + rax]
movsx eax, r8b
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x14006f400
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov rcx, r9
call fcn.14006da40
xorps xmm0, xmm0
movups xmmword [rbp + 0x458], xmm0
mov qword [rbp + 0x468], r14
mov qword [rbp + 0x470], 0xf
mov byte [rbp + 0x458], 0
movups xmmword [rbp + 0x478], xmm0
mov qword [rbp + 0x488], r14
mov qword [rbp + 0x490], 0xf
mov byte [rbp + 0x478], 0
lea rax, [rbp + 0x5e0]
mov qword [rbp + 0x450], rax
mov rdx, rsi
lea rcx, [rbp + 0x358]
call fcn.140071900
mov r14, rax
mov qword [rsp + 0x40], rax
mov r12, rax
mov r13, qword [rax + 0x18]
cmp r13, 0x10
jb 0x14006f4b0
mov r12, qword [rax]
mov r15, qword [rax + 0x10]
test r15, r15
je 0x14006f4d3
mov r8, r15
mov edx, 0x2f
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14006f4d3
sub rax, r12
jmp 0x14006f4d6
mov rax, rdi
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x130], xmm1
movsxd r8, eax
cmp r15, r8
cmovb r8, r15
mov rdx, r14
cmp r13, 0x10
jb 0x14006f501
mov rdx, qword [r14]
lea rcx, [rbp + 0x120]
call fcn.14006db40
nop
mov rcx, r14
call fcn.14006da40
mov rdx, qword [rbp + 0x470]
cmp rdx, 0x10
jb 0x14006f55a
inc rdx
mov rcx, qword [rbp + 0x458]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006f555
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006f555
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c6388
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rbp + 0x458], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rbp + 0x468], xmm1
movdqa xmm0, xmmword [0x1400f6900]
movdqu xmmword [rbp + 0x130], xmm0
mov byte [rbp + 0x120], 0
lea rcx, [rbp + 0x120]
call fcn.14006da40
mov rdx, rsi
lea rcx, [rbp + 0x160]
call fcn.140071900
mov r14, rax
mov qword [rsp + 0x40], rax
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14006f5bd
mov rdx, qword [rax]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14006f5f2
dec rax
mov rcx, rdi
cmp rax, rdi
cmovb rcx, rax
add rcx, rdx
cmp byte [rcx], 0x2f
je 0x14006f5ed
nop dword [rax + rax]
cmp rcx, rdx
je 0x14006f5f2
dec rcx
cmp byte [rcx], 0x2f
jne 0x14006f5e0
sub rcx, rdx
jmp 0x14006f5f5
mov rcx, rdi
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
xor r12d, r12d
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], r12
movsxd r8, ecx
cmp qword [r14 + 0x10], r8
cmovb r8, qword [r14 + 0x10]
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14006f629
mov rdx, qword [r14]
lea rcx, [rbp + 0x140]
call fcn.14006db40
nop
mov rcx, r14
call fcn.14006da40
lea rcx, [rbp + 0x140]
call fcn.1400ac7f0
mov byte [0x1401126a5], 1
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x5d0], xmm1
cmp ebx, 0xc0b21377
ja 0x14006f820
je 0x14006f7f3
cmp ebx, 0x92209093
ja 0x14006f750
je 0x14006f723
cmp ebx, 0x2229122e
je 0x14006f6f6
cmp ebx, 0x84317af8
je 0x14006f6c9
cmp ebx, 0x8d42f627
jne 0x14006f91a
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x1c0]
call fcn.14007f010
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x1c8]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x1d0]
call fcn.1400884d0
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x1d8]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x1e0]
call fcn.14008a090
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x1e8]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x1f0]
call fcn.14007f4d0
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x1f8]
jmp 0x14006fa70
cmp ebx, 0xa5feb8e3
je 0x14006f7c6
cmp ebx, 0xb143b1f7
je 0x14006f799
cmp ebx, 0xbaa3cb6a
jne 0x14006f91a
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x200]
call fcn.140080030
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x208]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x210]
call fcn.140083340
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x218]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x220]
call fcn.140082230
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x228]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x230]
call fcn.14008c3c0
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x238]
jmp 0x14006fa70
cmp ebx, 0xe1e7dcca
ja 0x14006f902
je 0x14006f8d5
cmp ebx, 0xc2074d0f
je 0x14006f8a8
cmp ebx, 0xc68a48f6
je 0x14006f87b
cmp ebx, 0xe0d1fff4
jne 0x14006f91a
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x240]
call fcn.140086c00
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x248]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x250]
call fcn.140086750
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x258]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x260]
call fcn.140086270
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x268]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x270]
call fcn.1400870b0
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x278]
jmp 0x14006fa70
cmp ebx, 0xe76079ad
je 0x14006fa48
cmp ebx, 0xed593875
je 0x14006fa1e
lea rax, [rbp + 8]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsi + 0x10]
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rax, 0xf
jb 0x1400702b2
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14006f94e
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xf
lea r9, str.Invalid_asset:
lea rcx, [rbp - 0x18]
call fcn.14006ddd0
nop
mov r8d, 0x13
lea rdx, str._invalid_asset_type
lea rcx, [rbp - 0x18]
call fcn.14006daa0
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rax, [rbp + 8]
mov qword [rsp + 0x48], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], r12
mov r8d, 0x1b
lea rdx, str._asset_manager::load_asset_
lea rcx, [rbp + 0x68]
call fcn.14006db40
lea rax, [rbp + 0x68]
mov qword [rsp + 0x40], rax
cmp byte [0x1401126a4], 0
je 0x1400702b8
lea rcx, [rbp + 0x68]
call fcn.14006da40
nop
lea rcx, [rbp + 8]
call fcn.14006da40
nop
lea rcx, [rbp - 0x18]
call fcn.14006da40
jmp 0x14006fab6
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x280]
call fcn.140087d40
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x288]
jmp 0x14006fa70
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x290]
call fcn.140085720
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov rbx, qword [rbp + 0x298]
mov qword [rbp + 0x5d0], rdx
mov qword [rbp + 0x5d8], rcx
test rbx, rbx
je 0x14006faac
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14006faac
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14006faac
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
movabs rbx, 0x7fffffffffffffff
mov byte [0x1401126a5], 0
cmp qword [rbp + 0x5d0], 0
jne 0x14006fb8a
lea rax, [rbp + 0x180]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsi + 0x10]
sub rbx, rcx
cmp rbx, 0x16
jb 0x140070367
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14006faf5
mov rax, qword [rsi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x16
lea r9, str.Failed_to_load_asset:
lea rcx, [rbp + 0x180]
call fcn.14006ddd0
lea rax, [rbp + 0x180]
mov qword [rsp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], r12
mov qword [rbp + 0xa0], r12
mov r8d, 0x1b
lea rdx, str._asset_manager::load_asset_
lea rcx, [rbp + 0x88]
call fcn.14006db40
lea rax, [rbp + 0x88]
mov qword [rsp + 0x40], rax
cmp byte [0x1401126a4], 0
je 0x14006fef4
lea rcx, [rbp + 0x88]
call fcn.14006da40
nop
lea rcx, [rbp + 0x180]
call fcn.14006da40
mov rcx, qword [rbp + 0x5d0]
add rcx, 8
mov rdx, rsi
call fcn.1400717e0
mov rdx, rsi
lea rcx, [rbp + 0x378]
call fcn.140071900
mov r9, rax
mov ecx, r12d
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14006fbbf
mov rdx, qword [rax]
movzx r8d, byte [rdx]
test r8b, r8b
je 0x14006fbf0
nop dword [rax + rax]
movsx eax, r8b
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x14006fbd0
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov r14d, ebx
mov rcx, r9
call fcn.14006da40
mov r15, qword [rsp + 0x50]
mov r8, qword [r15]
mov r9, qword [r8 + 8]
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r10, 0x100000001b3
imul rdx, r10
mov eax, ebx
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov eax, ebx
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov eax, ebx
shr rax, 0x18
xor rdx, rax
imul rdx, r10
mov rcx, qword [r8 + 0x30]
and rcx, rdx
shl rcx, 4
mov r8, qword [r8 + 0x18]
add r8, rcx
mov rcx, qword [r8 + 8]
mov rdx, rcx
cmp rcx, r9
je 0x14006fc97
mov rax, qword [r8]
cmp r14d, dword [rcx + 0x10]
je 0x14006fc9a
cmp rdx, rax
je 0x14006fc97
mov rdx, qword [rdx + 8]
cmp ebx, dword [rdx + 0x10]
jne 0x14006fc87
jmp 0x14006fc9a
mov rdx, r12
mov rax, r9
test rdx, rdx
cmovne rax, rdx
cmp rax, r9
jne 0x14006fd07
mov dword [rbp - 0x30], ebx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov rdx, qword [rbp + 0x5d8]
test rdx, rdx
je 0x14006fcd3
mov rax, qword [rbp + 0x5d0]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
lock inc dword [rdx + 0xc]
lea r8, [rbp - 0x30]
lea rdx, [rsp + 0x50]
mov rcx, qword [r15]
call fcn.140072d80
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14006fd7c
mov eax, edi
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x14006fd7c
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
jmp 0x14006fd79
cmp rcx, r9
je 0x14006fee6
mov rax, qword [r8]
cmp ebx, dword [rcx + 0x10]
je 0x14006fd32
nop dword [rax + rax]
cmp rcx, rax
je 0x14006fee6
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14006fd20
mov rax, r12
mov r8, r12
mov rdx, qword [rbp + 0x5d8]
test rdx, rdx
je 0x14006fd56
lock inc dword [rdx + 0xc]
mov rax, qword [rbp + 0x5d0]
mov r8, qword [rbp + 0x5d8]
mov qword [rcx + 0x18], rax
mov rdx, qword [rcx + 0x20]
mov qword [rcx + 0x20], r8
test rdx, rdx
je 0x14006fd7c
mov eax, edi
lock xadd dword [rdx + 0xc], eax
cmp eax, 1
jne 0x14006fd7c
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 8]
mov rcx, qword [r15]
add rcx, 0x40
mov r9, qword [rcx + 8]
cmp r9, qword [rcx + 0x10]
je 0x14006fdc0
mov qword [r9], r12
mov qword [r9 + 8], r12
mov rdx, qword [rbp + 0x5d8]
test rdx, rdx
je 0x14006fda4
lock inc dword [rdx + 8]
mov rax, qword [rbp + 0x5d0]
mov qword [r9], rax
mov rax, qword [rbp + 0x5d8]
mov qword [r9 + 8], rax
add qword [rcx + 8], 0x10
jmp 0x14006fdd0
lea r8, [rbp + 0x5d0]
mov rdx, r9
call fcn.140076b00
nop
mov rdx, qword [rbp + 0x5d8]
test rdx, rdx
je 0x14006fe0f
mov eax, edi
lock xadd dword [rdx + 8], eax
cmp eax, 1
jne 0x14006fe0f
mov rbx, qword [rbp + 0x5d8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14006fe0f
mov rcx, qword [rbp + 0x5d8]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x478]
call fcn.14006da40
lea rcx, [rbp + 0x458]
call fcn.14006da40
nop
lea rcx, [rbp + 0x690]
call fcn.14006da40
nop
movzx edx, byte [rsp + 0x60]
lea rcx, [rsp + 0x68]
call fcn.140072010
nop
movzx edx, byte [rbp + 0x5e0]
lea rcx, [rbp + 0x5e8]
call fcn.140072010
nop
mov rax, qword [rbp + 0x4b0]
movsxd rdx, dword [rax + 4]
lea rax, vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rdx + 0x4b0], rax
mov rax, qword [rbp + 0x4b0]
movsxd rdx, dword [rax + 4]
lea r8d, [rdx - 0xb8]
mov dword [rbp + rdx + 0x4ac], r8d
lea rcx, [rbp + 0x4c8]
call fcn.140071140
lea rcx, [rbp + 0x4d0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x568]
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.14006da40
mov rcx, qword [rbp + 0x6b0]
xor rcx, rsp
call fcn.1400c61b0
mov rbx, qword [rsp + 0x810]
add rsp, 0x7c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.invalid_unordered_map_K__T__key
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
nop
lea rcx, [rbp + 0x670]
call fcn.140071a20
nop
lea rdx, str._core_
lea rcx, [rbp + 0x670]
call fcn.14008c8d0
lea rcx, [rbp + 0x88]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x670]
call fcn.14006d9d0
mov dl, 0x3a
lea rcx, [rbp + 0x670]
call fcn.140071e50
mov dl, 0xa
lea rcx, [rbp + 0x670]
call fcn.140071e50
lea rcx, [rbp + 0x180]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x670]
call fcn.14006d9d0
lea rdx, [rbp + 0x670]
lea rcx, [rbp + 0x160]
call fcn.140071900
mov rcx, rax
call fcn.1400a5540
mov byte [0x1401126a4], 1
lea rdx, str.Shutdown_call
lea rcx, [rbp - 0x68]
call fcn.14006e160
lea rdx, [0x140109158]
lea rcx, [rbp - 0x68]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14006d050
nop
call fcn.14006d050
nop
lea rcx, [rbp + 0x5f0]
call fcn.140071a20
nop
lea rdx, str._core_
lea rcx, [rbp + 0x5f0]
call fcn.14008c8d0
lea rcx, [rbp + 0xc0]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x5f0]
call fcn.14006d9d0
mov dl, 0x3a
lea rcx, [rbp + 0x5f0]
call fcn.140071e50
mov dl, 0xa
lea rcx, [rbp + 0x5f0]
call fcn.140071e50
lea rcx, [rbp + 0x1a0]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x5f0]
call fcn.14006d9d0
lea rdx, [rbp + 0x5f0]
lea rcx, [rbp - 0x18]
call fcn.140071900
mov rcx, rax
call fcn.1400a5540
mov byte [0x1401126a4], 1
lea rdx, str.Shutdown_call
lea rcx, [rbp + 0xa8]
call fcn.14006e160
lea rdx, [0x140109158]
lea rcx, [rbp + 0xa8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14006d050
nop
lea rcx, [rbp + 0x650]
call fcn.140071a20
nop
lea rdx, str._core_
lea rcx, [rbp + 0x650]
call fcn.14008c8d0
lea rcx, [rbp + 0xe0]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x650]
call fcn.14006d9d0
mov dl, 0x3a
lea rcx, [rbp + 0x650]
call fcn.140071e50
mov dl, 0xa
lea rcx, [rbp + 0x650]
call fcn.140071e50
lea rcx, [rbp + 0x28]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x650]
call fcn.14006d9d0
lea rdx, [rbp + 0x650]
lea rcx, [rbp - 0x18]
call fcn.140071900
mov rcx, rax
call fcn.1400a5540
mov byte [0x1401126a4], 1
lea rdx, str.Shutdown_call
lea rcx, [rbp + 0xa8]
call fcn.14006e160
lea rdx, [0x140109158]
lea rcx, [rbp + 0xa8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rbp + 0x5e0]
call fcn.140071dc0
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x48]
lea rcx, [rbp + 0x430]
call fcn.140073050
nop
mov r8, rax
mov edx, 0x130
lea rcx, [rbp + 0x3f8]
call fcn.140073100
lea rdx, [0x140109098]
lea rcx, [rbp + 0x3f8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rsp + 0x78]
lea rcx, [rbp + 0x398]
call fcn.140073260
nop
mov r8, rax
mov edx, 0x193
lea rcx, [rbp + 0x300]
call fcn.140073310
lea rdx, [0x140109038]
lea rcx, [rbp + 0x300]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14006d050
nop
lea rcx, [rbp + 0x630]
call fcn.140071a20
nop
lea rdx, str._core_
lea rcx, [rbp + 0x630]
call fcn.14008c8d0
lea rcx, [rbp + 0x100]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x630]
call fcn.14006d9d0
mov dl, 0x3a
lea rcx, [rbp + 0x630]
call fcn.140071e50
mov dl, 0xa
lea rcx, [rbp + 0x630]
call fcn.140071e50
lea rcx, [rbp + 0x48]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x630]
call fcn.14006d9d0
lea rdx, [rbp + 0x630]
lea rcx, [rbp - 0x18]
call fcn.140071900
mov rcx, rax
call fcn.1400a5540
mov byte [0x1401126a4], 1
lea rdx, str.Shutdown_call
lea rcx, [rbp - 0x68]
call fcn.14006e160
lea rdx, [0x140109158]
lea rcx, [rbp - 0x68]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x60]
call fcn.140071dc0
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x48]
lea rdx, str.type_must_be_string__but_is
lea rcx, [rbp + 0x398]
call fcn.14007d660
nop
mov r8, rax
mov edx, 0x12e
lea rcx, [rbp + 0x300]
call fcn.140073100
lea rdx, [0x140109098]
lea rcx, [rbp + 0x300]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14006d050
nop
lea rcx, [rbp + 0x610]
call fcn.140071a20
nop
lea rdx, str._core_
lea rcx, [rbp + 0x610]
call fcn.14008c8d0
lea rcx, [rbp + 0x68]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x610]
call fcn.14006d9d0
mov dl, 0x3a
lea rcx, [rbp + 0x610]
call fcn.140071e50
mov dl, 0xa
lea rcx, [rbp + 0x610]
call fcn.140071e50
lea rcx, [rbp + 8]
call fcn.14006d9c0
mov rdx, rax
lea rcx, [rbp + 0x610]
call fcn.14006d9d0
lea rdx, [rbp + 0x610]
lea rcx, [rbp + 0x160]
call fcn.140071900
mov rcx, rax
call fcn.1400a5540
mov byte [0x1401126a4], 1
lea rdx, str.Shutdown_call
lea rcx, [rbp - 0x68]
call fcn.14006e160
lea rdx, [0x140109158]
lea rcx, [rbp - 0x68]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14006d050
int3