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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x550
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x540], rax
mov rbx, rdx
mov r13, rcx
mov qword [rsp + 0xa0], rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx], r12
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
mov dword [rsp + 0x30], 1
movups xmmword [rsp + 0x2b0], xmm0
movups xmmword [rsp + 0x2c0], xmm0
movups xmmword [rsp + 0x2d0], xmm0
movups xmmword [rsp + 0x2e0], xmm0
mov dword [rsp + 0x2b0], r12d
mov qword [rsp + 0x2b8], r12
mov qword [rsp + 0x2c0], r12
mov ecx, 0x30
call fcn.180034700
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x2b8], rax
mov qword [rsp + 0x2c8], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x2d0], xmm0
mov qword [rsp + 0x2e0], 7
mov qword [rsp + 0x2e8], 8
mov dword [rsp + 0x2b0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rsp + 0x2c8]
call fcn.180017260
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x260], xmm0
movups xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x260], r12
lea rax, [rsp + 0x268]
mov qword [rsp + 0x38], rax
mov cl, 1
call qword [sym.imp.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_]
mov qword [rsp + 0x280], rax
lea rcx, [rsp + 0x278]
call fcn.18001a5d0
mov qword [rsp + 0x268], rax
lea rcx, [rsp + 0x278]
call fcn.180017b90
mov qword [rsp + 0x270], rax
lea r8, [0x180039e8f]
lea rdx, str._A_Za_z0_9___24._A_Za_z0_9___6._A_Za_z0_9___25_
lea rcx, [rsp + 0x260]
call fcn.180019170
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x2f0], xmm0
movups xmmword [rsp + 0x320], xmm0
movups xmmword [rsp + 0x340], xmm0
movups xmmword [rsp + 0x350], xmm0
mov qword [rsp + 0x2f0], r12
mov byte [rsp + 0x2f8], r12b
movdqa xmmword [rsp + 0x300], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x310], xmm1
mov qword [rsp + 0x320], r12
mov byte [rsp + 0x328], r12b
movdqa xmmword [rsp + 0x330], xmm0
mov byte [rsp + 0x340], r12b
mov qword [rsp + 0x348], r12
mov qword [rsp + 0x350], r12
mov byte [rsp + 0x358], r12b
movups xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1f0], r12
mov qword [rsp + 0x1f8], 0xf
mov byte [rsp + 0x1e0], r12b
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x180007bf4
mov rbx, qword [rbx]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
call fcn.180033d84
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x230], xmm0
lea r8, [rsp + 0x230]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.180001d60
mov r15d, 0x61
mov dword [rsp + 0x30], r15d
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1d0]
call fcn.180017ee0
test eax, eax
jne 0x180008912
mov rdx, qword [rsp + 0x88]
cmp rdx, 7
jbe 0x180007c9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007c99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180007c99
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180034744
xorps xmm0, xmm0
movups xmmword [rsp + 0x220], xmm0
mov rbx, qword [rsp + 0x1d8]
mov qword [rsp + 0x38], rbx
test rbx, rbx
je 0x180007cd1
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x1d8]
mov qword [rsp + 0x38], rbx
mov r15d, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x1d0]
movdqa xmmword [rsp + 0x220], xmm0
test rbx, rbx
je 0x180007cfd
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x1d8]
mov qword [rsp + 0x38], rbx
mov r15d, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x230], xmm1
test rbx, rbx
je 0x180007d62
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180007d50
mov rbx, qword [rsp + 0x1d8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180007d50
mov rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0x38], rcx
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x180007d5d
mov rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0x38], rcx
mov r15d, dword [rsp + 0x30]
lea r14, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
movabs rsi, 0x2aaaaaaaaaaaaaab
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rsp + 0x220]
cmp rbx, qword [rsp + 0x230]
je 0x180008790
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.180003000
mov edx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x90]
test edx, edx
je 0x180007dc8
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x180008926
cmp eax, 2
jne 0x18000877e
lea rcx, [rbx + 0x20]
lea rdx, [rsp + 0x240]
call fcn.1800021f0
nop
lea rax, [rsp + 0x240]
mov rbx, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x258]
cmp rdi, 0xf
cmova rax, rbx
mov rcx, qword [rsp + 0x250]
cmp rcx, 4
jb 0x180007e20
cmp dword [rcx + rax - 4], 0x62646c2e
sete al
test al, al
jne 0x180007e4d
lea rax, [rsp + 0x240]
cmp rdi, 0xf
cmova rax, rbx
cmp rcx, 4
jb 0x180008744
cmp dword [rcx + rax - 4], 0x676f6c2e
sete al
test al, al
je 0x180008744
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0xc0]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x240]
cmp rdi, 0xf
cmova rdx, rbx
mov r8d, 0x20
lea rcx, [rsp + 0xc0]
call fcn.180015600
mov rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xc0], rax
mov rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0xbc], edx
mov rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0xd0], 6
jne 0x180008689
xor edx, edx
mov r8d, 0xe8
lea rcx, [rsp + 0x360]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x18003c3a8]
mov qword [rsp + 0x360], rax
lea rcx, [rsp + 0x3e8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
bts r15d, 8
mov dword [rsp + 0x30], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x368]
lea rcx, [rsp + 0x360]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x360]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x360], rax
mov rax, qword [rsp + 0x360]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x35c], edx
lea rcx, [rsp + 0x368]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
mov qword [rsp + 0x368], r14
mov qword [rsp + 0x3d0], r12
mov dword [rsp + 0x3d8], 4
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x360]
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_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x288], xmm0
mov rbx, r12
mov qword [rsp + 0x298], rbx
mov edi, 0xf
mov qword [rsp + 0x2a0], rdi
mov byte [rsp + 0x288], 0
bts r15d, 0xa
mov dword [rsp + 0x30], r15d
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
mov ecx, dword [rsp + 0x3d8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x18000802c
mov rax, qword [rsp + 0x3a8]
mov r8, qword [rax]
test r8, r8
je 0x18000802c
mov rax, qword [rsp + 0x388]
mov rdx, qword [rax]
mov qword [rsp + 0x40], rdx
cmp r8, qword [rsp + 0x3d0]
cmovb r8, qword [rsp + 0x3d0]
sub r8, rdx
mov qword [rsp + 0x48], r8
jmp 0x180008073
test cl, 4
jne 0x180008069
mov rax, qword [rsp + 0x3a0]
mov rcx, qword [rax]
test rcx, rcx
je 0x180008069
mov rax, qword [rsp + 0x380]
mov rdx, qword [rax]
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x3b8]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
mov qword [rsp + 0x48], r8
jmp 0x180008073
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x180008095
lea rcx, [rsp + 0x288]
call fcn.180016150
mov rdi, qword [rsp + 0x2a0]
mov rbx, qword [rsp + 0x298]
btr r15d, 0xa
bts r15d, 9
mov dword [rsp + 0x30], r15d
xor edx, edx
mov r8d, 0xf0
lea rcx, [rsp + 0x450]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x18003c638]
mov qword [rsp + 0x450], rax
lea rcx, [rsp + 0x4e0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
bts r15d, 7
mov dword [rsp + 0x30], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x460]
lea rcx, [rsp + 0x450]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x450], rax
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rsp + rcx + 0x44c], edx
lea rax, [rsp + 0x460]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x460]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov qword [rsp + 0x460], r14
lea rdx, [rsp + 0x288]
cmp rdi, 0xf
cmova rdx, qword [rsp + 0x288]
mov r9d, 2
mov r8, rbx
lea rcx, [rsp + 0x460]
call fcn.1800178e0
nop
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x450]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x450]
call fcn.180020fa0
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
test byte [rcx + rdx + 0x10], 6
je 0x18000828a
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x450], rax
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rsp + rcx + 0x44c], edx
lea rcx, [rsp + 0x460]
call fcn.180015da0
lea rcx, [rsp + 0x468]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x4e0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x2a0]
cmp rdx, 0xf
jbe 0x180008623
inc rdx
mov rcx, qword [rsp + 0x288]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000861d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000861d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
nop word [rax + rax]
movabs rsi, 0x2aaaaaaaaaaaaaab
lea r10, [rsp + 0x1e0]
mov r9, qword [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 0xf
cmova r10, r9
lea rcx, [rsp + 0x1e0]
cmova rcx, r9
mov rdx, qword [rsp + 0x1f0]
add rdx, rcx
lea rcx, [rsp + 0x1e0]
cmp qword [rsp + 0x1f8], 0xf
cmova rcx, r9
mov qword [rsp + 0x28], r10
lea r9, [rsp + 0x260]
lea r8, [rsp + 0x2f0]
call fcn.180021140
test al, al
je 0x180008182
mov rcx, qword [rsp + 0x308]
sub rcx, qword [rsp + 0x300]
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rsp + 0x348]
cmovne rax, qword [rsp + 0x300]
cmp byte [rax + 0x10], 0
je 0x18000833a
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
jmp 0x180008343
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x210], r12
mov qword [rsp + 0x218], r12
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
cmp rdx, r8
jne 0x180008390
mov rdi, r12
mov qword [rsp + 0x210], r12
mov r14d, 0xf
mov qword [rsp + 0x218], r14
mov byte [rsp + 0x200], 0
jmp 0x1800083b0
sub r8, rdx
lea rcx, [rsp + 0x200]
call fcn.180019d80
mov r14, qword [rsp + 0x218]
mov rdi, qword [rsp + 0x210]
or r15d, 0x1c
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x30], r15d
lea r8, [rsp + 0x200]
mov rsi, qword [rsp + 0x200]
cmp r14, 0xf
cmova r8, rsi
movabs rdx, 0xcbf29ce484222325
mov rcx, r12
test rdi, rdi
je 0x180008406
movzx eax, byte [rcx + r8]
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
inc rcx
cmp rcx, rdi
jb 0x1800083e8
mov rax, qword [rsp + 0x2e0]
and rax, rdx
add rax, rax
mov rcx, qword [rsp + 0x2c8]
mov rbx, qword [rcx + rax*8 + 8]
mov r15, qword [rsp + 0x2b8]
cmp rbx, r15
je 0x180008484
mov r12, qword [rcx + rax*8]
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180008452
mov rdx, qword [rdx]
lea rcx, [rsp + 0x200]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, rax
jne 0x180008478
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180008478
xor r12d, r12d
jmp 0x180008487
cmp rbx, r12
jne 0x180008614
xor r12d, r12d
mov rbx, r12
mov rax, r15
test rbx, rbx
cmovne rax, rbx
cmp rax, r15
jne 0x1800084f7
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x2b0]
call fcn.180018e30
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x1800084d4
lea rdx, [rsp + 0x200]
mov rcx, rax
call fcn.1800164f0
add qword [r13 + 8], 0x20
jmp 0x1800084e7
lea r8, [rsp + 0x200]
mov rdx, rax
mov rcx, r13
call fcn.180022200
mov rsi, qword [rsp + 0x200]
mov r14, qword [rsp + 0x218]
cmp byte [rsp + 0x340], 0
je 0x180008510
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x40], xmm0
jmp 0x180008519
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r12
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp rdx, r8
jne 0x180008553
mov qword [rsp + 0x88], 0xf
mov byte [rsp + 0x70], 0
jmp 0x180008560
sub r8, rdx
lea rcx, [rsp + 0x70]
call fcn.180019d80
mov r15d, dword [rsp + 0x60]
or r15d, 2
mov dword [rsp + 0x30], r15d
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0xf
jbe 0x1800085b4
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800085af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800085af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180034744
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x1e0], xmm0
movups xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x1f0], xmm1
cmp r14, 0xf
jbe 0x180008280
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180008607
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180008607
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.180034744
jmp 0x180008280
mov rbx, qword [rbx + 8]
jmp 0x180008440
call fcn.180034744
nop
mov rax, qword [rsp + 0x360]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x360], rax
mov rax, qword [rsp + 0x360]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x35c], edx
lea rcx, [rsp + 0x368]
call fcn.180015da0
lea rcx, [rsp + 0x370]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x3e8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea r14, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
jmp 0x1800086d7
lea rdx, str.Failed_to_open_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180018220
lea rdx, [rsp + 0x240]
cmp qword [rsp + 0x258], 0xf
cmova rdx, qword [rsp + 0x240]
mov r8, qword [rsp + 0x250]
mov rcx, rax
call fcn.180020b70
lea rdx, [0x1800183f0]
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 rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0xc0], rax
mov rax, qword [rsp + 0xc0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0xbc], edx
lea rcx, [rsp + 0xd0]
call fcn.180015590
lea rcx, [rsp + 0xd8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x170]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rdi, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x240]
cmp rdi, 0xf
jbe 0x18000877e
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180008776
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180008776
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.180034744
lea rcx, [rsp + 0x220]
call fcn.1800035f0
jmp 0x180007d80
mov rcx, qword [rsp + 0x228]
mov edi, 0xffffffff
test rcx, rcx
je 0x1800087e2
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1800087d8
mov rbx, qword [rsp + 0x228]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1800087d8
mov rcx, qword [rsp + 0x228]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x1d8]
jmp 0x1800087e7
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180008821
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180008821
mov rbx, qword [rsp + 0x1d8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180008821
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x18000882e
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0xf
jbe 0x180008874
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000886f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000886f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180034744
mov qword [rsp + 0x1f0], r12
mov qword [rsp + 0x1f8], 0xf
mov byte [rsp + 0x1e0], 0
lea rcx, [rsp + 0x300]
call fcn.180014470
nop
lea rcx, [rsp + 0x260]
call fcn.180016a60
mov rcx, qword [rsp + 0x280]
test rcx, rcx
je 0x1800088d5
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800088d5
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
nop
lea rcx, [rsp + 0x2b0]
call fcn.1800074e0
mov rax, r13
mov rcx, qword [rsp + 0x540]
xor rcx, rsp
call fcn.1800346e0
lea r11, [rsp + 0x550]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea r8, [rsp + 0x70]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.180002f30
nop
lea r8, [rbx + 0x20]
lea rcx, str.directory_entry::status
call fcn.180002f30
int3