Function at 0x180072840
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x398]
sub rsp, 0x498
mov r14, rcx
xor r12d, r12d
mov dword [rbp + 0x3e8], r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], r12b
movups xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x1800906f0]
movdqa xmmword [rbp - 0x20], xmm1
mov byte [rbp - 0x30], r12b
mov qword [rbp - 0x10], r12
lea rax, [0x180391fa8]
mov r15, qword [0x180391fb8]
test r15, r15
jne 0x1800728ec
mov rdx, qword [0x180391f90]
lea rcx, [rbp - 0x50]
call fcn.180064f70
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [0x180391fa8]
call fcn.180058cf0
mov r15, qword [0x180391fb8]
lea rax, [0x180391fa8]
cmp qword [rbp - 0x40], 0
jne 0x1800729f9
xor sil, sil
mov rdi, qword [0x180391f90]
mov rbx, rdi
mov r12, qword [0x180391f98]
cmp rdi, r12
je 0x18007296c
mov r13, qword [0x180391fc0]
nop word [rax + rax]
mov rdx, rax
cmp r13, 0xf
cmova rdx, qword [0x180391fa8]
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180072940
mov rcx, qword [rbx]
cmp r8, r15
jne 0x180072953
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180072953
mov sil, 1
jmp 0x18007295c
test sil, sil
jne 0x180072aa2
add rbx, 0x48
cmp rbx, r12
lea rax, [0x180391fa8]
jne 0x180072920
lea rsi, [0x180391fa8]
lea rax, [rbp - 0x50]
cmp rax, rdi
je 0x180072996
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180072989
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rbp - 0x50]
call fcn.180058cf0
lea rdx, [rdi + 0x20]
lea rax, [rbp - 0x30]
cmp rax, rdx
je 0x1800729ba
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800729b1
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
call fcn.180058cf0
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x1800729c9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 0x40]
mov qword [rbp - 0x10], rcx
test rcx, rcx
je 0x1800729dc
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov rcx, rsi
call fcn.180058cf0
xor r12d, r12d
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
call fcn.180002c10
nop
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x38], rax
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18005a630
mov r15d, 1
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
mov r9d, 0xffffffff
lea r8d, [r15 + 2]
lea rdx, [rbp]
call fcn.180084158
mov edx, eax
lea esi, [r15 + 3]
mov edi, 0x1ff
mov r13d, 0x16d
test eax, eax
jne 0x180072b06
mov ecx, dword [rbp + 0x10]
test r15b, cl
mov eax, edi
cmovne eax, r13d
mov dword [rsp + 0x34], eax
bt ecx, 0xa
jae 0x180072af8
mov eax, dword [rbp + 0x14]
cmp eax, 0xa000000c
jne 0x180072aea
mov eax, esi
jmp 0x180072b2a
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.180064f70
lea rsi, [0x180391fa8]
cmp rsi, rbx
je 0x180072ad3
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x180072ac8
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rsi
call fcn.180058cf0
cmp qword [rbp - 0x40], 0
jne 0x1800729f6
mov rdi, qword [0x180391f90]
jmp 0x180072973
cmp eax, 0xa0000003
jne 0x180072af8
mov eax, 0xa
jmp 0x180072b2a
movzx eax, cl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x180072b2a
mov dword [rsp + 0x34], 0xffff
sub eax, 2
je 0x180072b25
sub eax, 1
je 0x180072b25
sub eax, 0x32
je 0x180072b25
cmp eax, 0x46
mov eax, r12d
jne 0x180072b2a
mov eax, 1
mov dword [rsp + 0x30], edx
lea rcx, [0x180392100]
mov qword [rsp + 0x38], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
test eax, eax
je 0x180072c52
cmp eax, 1
sete bl
lea rcx, [rsp + 0x50]
call fcn.18006e9d0
test bl, bl
je 0x180072bc6
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x38], rax
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18005a630
mov r15d, 0x81
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.18008402c
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x18007396d
lea rcx, [rsp + 0x50]
call fcn.18006e9d0
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x38], rax
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18005a630
or r15d, 2
mov dword [rbp + 0x3f0], r15d
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp]
call fcn.180084158
mov r8d, eax
test eax, eax
jne 0x180072c7d
mov edx, dword [rbp + 0x10]
test dl, 1
mov ecx, edi
cmovne ecx, r13d
mov dword [rsp + 0x34], ecx
bt edx, 0xa
jae 0x180072c6f
mov eax, dword [rbp + 0x14]
cmp eax, 0xa000000c
jne 0x180072c61
mov eax, esi
jmp 0x180072ca1
mov bl, 1
test edx, edx
jne 0x18007391d
jmp 0x180072b53
cmp eax, 0xa0000003
jne 0x180072c6f
mov eax, 0xa
jmp 0x180072ca1
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x180072ca1
mov dword [rsp + 0x34], 0xffff
sub eax, 2
je 0x180072c9c
sub eax, 1
je 0x180072c9c
sub eax, 0x32
je 0x180072c9c
cmp eax, 0x46
mov eax, r12d
jne 0x180072ca1
mov eax, 1
mov dword [rsp + 0x30], r8d
lea rcx, [0x180392100]
mov qword [rsp + 0x38], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
test eax, eax
je 0x180072dde
cmp eax, 1
setne bl
lea rcx, [rsp + 0x50]
call fcn.18006e9d0
mov rdi, 0xffffffffffffffff
test bl, bl
je 0x1800735a2
movdqa xmm0, xmmword [0x180104e90]
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x40], 1
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx - 0x41]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xf
jb 0x180072d00
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x80]
mov qword [rbp + 0x3e8], rdx
lea rax, [rsp + 0x30]
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180072d30
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rdx
cmp rax, rbx
jb 0x180073983
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov qword [rbp + 0x3f8], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
lea r13, [rdx + rbx]
mov r15d, 0xf
lea r12, [rbp - 0x70]
movabs r8, 0x8000000000000000
lea r9d, [r15 + 7]
cmp r13, r15
jbe 0x180072e35
mov r15, r13
or r15, 0xf
cmp r15, rcx
jbe 0x180072dee
mov r15, rcx
lea rax, [r8 + 0x27]
mov rcx, rax
call fcn.180082c18
test rax, rax
je 0x180073596
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x3f8]
jmp 0x180072e31
xor bl, bl
test r8d, r8d
jne 0x180073934
jmp 0x180072ccb
cmp r15, r9
cmovb r15, r9
lea rcx, [r15 + 1]
cmp rcx, 0x1000
jb 0x180072e11
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18007394b
jmp 0x180072db0
test rcx, rcx
je 0x180072e2e
call fcn.180082c18
mov r12, rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x3f8]
jmp 0x180072e31
xor r12d, r12d
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], r15
mov r8, rdx
mov rdx, rax
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x3e8]
add rcx, r12
mov r8, rbx
lea rdx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [r12 + r13], 0
mov ebx, dword [rbp + 0x3f0]
or ebx, 0x10
lea rax, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rax, qword [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x38], rax
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rbp]
call fcn.18005a630
or ebx, 0x20
mov dword [rbp + 0x3f0], ebx
lea rcx, [rbp]
cmp qword [rbp + 0x18], 7
cmova rcx, qword [rbp]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x260]
call fcn.180084158
mov r8d, eax
test eax, eax
jne 0x180072f1b
mov edx, dword [rbp + 0x270]
test dl, 1
mov eax, 0x1ff
mov ecx, 0x16d
cmovne eax, ecx
mov dword [rsp + 0x34], eax
bt edx, 0xa
jae 0x180072f0d
mov eax, dword [rbp + 0x274]
cmp eax, 0xa000000c
je 0x180072f40
cmp eax, 0xa0000003
jne 0x180072f0d
lea esi, [r8 + 0xa]
jmp 0x180072f40
movzx esi, dl
and esi, 0x10
or esi, 0x20
shr esi, 4
jmp 0x180072f40
mov dword [rsp + 0x34], 0xffff
sub eax, 2
je 0x180072f3b
sub eax, 1
je 0x180072f3b
sub eax, 0x32
je 0x180072f3b
cmp eax, 0x46
je 0x180072f3b
xor esi, esi
jmp 0x180072f40
mov esi, 1
mov dword [rsp + 0x30], r8d
lea rax, [0x180392100]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
test esi, esi
je 0x1800731ec
cmp esi, 1
sete bl
lea rcx, [rbp]
call fcn.18006e9d0
test bl, bl
je 0x180073201
movdqa xmm0, xmmword [0x1801055f0]
movdqu xmmword [rbp + 0x140], xmm0
movdqa xmm1, xmmword [0x1801056f0]
movdqu xmmword [rbp + 0x150], xmm1
movdqa xmm0, xmmword [0x1801050b0]
movdqu xmmword [rbp + 0x160], xmm0
movdqa xmm1, xmmword [0x1801050d0]
movdqu xmmword [rbp + 0x170], xmm1
movdqa xmm0, xmmword [0x180105060]
movdqu xmmword [rbp + 0x180], xmm0
movdqa xmm1, xmmword [0x180105070]
movdqu xmmword [rbp + 0x190], xmm1
movdqa xmm0, xmmword [0x180104fa0]
movdqu xmmword [rbp + 0x1a0], xmm0
movdqa xmm1, xmmword [0x180105000]
movdqu xmmword [rbp + 0x1b0], xmm1
movdqa xmm0, xmmword [0x180105040]
movdqu xmmword [rbp + 0x1c0], xmm0
movdqa xmm1, xmmword [0x180104f00]
movdqu xmmword [rbp + 0x1d0], xmm1
movdqa xmm0, xmmword [0x180104ec0]
movdqu xmmword [rbp + 0x1e0], xmm0
movdqa xmm1, xmmword [0x180104ef0]
movdqu xmmword [rbp + 0x1f0], xmm1
movdqa xmm0, xmmword [0x1801056c0]
movdqu xmmword [rbp + 0x200], xmm0
movdqa xmm1, xmmword [0x180105610]
movdqu xmmword [rbp + 0x210], xmm1
movdqa xmm0, xmmword [0x180105290]
movdqu xmmword [rbp + 0x220], xmm0
movdqa xmm1, xmmword [0x180105440]
movdqu xmmword [rbp + 0x230], xmm1
movdqa xmm0, xmmword [0x180105660]
movdqu xmmword [rbp + 0x240], xmm0
mov dword [rbp + 0x250], 0xbbbdb3e8
mov dword [rbp + 0x254], 0xf8a1bab6
mov dword [rbp + 0x258], 0xfdb8adbb
mov word [rbp + 0x25c], 0x100
xor edx, edx
mov ecx, edx
nop word [rax + rax]
lea eax, [rcx - 0x41]
xor byte [rbp + rcx + 0x140], al
inc rcx
cmp rcx, 0x11c
jb 0x1800730c0
mov byte [rbp + 0x25d], dl
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rdx
lea rax, [rbp + 0x140]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], dl
jne 0x180073100
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call fcn.1800024b0
nop
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x280]
call fcn.180062c70
nop
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
lea rcx, [rbp + 0x280]
call fcn.18005cc70
lea rdx, [0x18005e7b0]
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]
lea rcx, [rbp + 0x288]
call fcn.18006f300
test rax, rax
jne 0x1800731a4
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x280]
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]
nop
lea rcx, [rbp + 0x280]
call fcn.180066040
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180073201
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800731fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800731fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov bl, 1
test r8d, r8d
jne 0x180073951
jmp 0x180072f6a
call fcn.180082be4
mov dword [rsp + 0x30], 0xabada3e3
mov dword [rsp + 0x34], 0xe8b1aaa6
mov dword [rsp + 0x38], 0xa8bdab
mov byte [rsp + 0x3c], 1
xor ecx, ecx
lea eax, [rcx - 0x41]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xb
jb 0x180073220
mov byte [rsp + 0x3c], 0
mov r13, qword [rbp - 0x80]
lea rax, [rsp + 0x30]
mov rbx, rdi
inc rbx
cmp byte [rax + rbx], 0
jne 0x180073241
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, rbx
jb 0x180073989
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov qword [rbp + 0x3e8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea r12, [rbx + r13]
mov esi, 0xf
lea r15, [rsp + 0x50]
cmp r12, rsi
jbe 0x18007332c
mov rsi, r12
or rsi, 0xf
cmp rsi, rcx
jbe 0x1800732e5
mov rsi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180082c18
test rax, rax
je 0x180073545
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
mov rax, qword [rbp + 0x3e8]
jmp 0x180073327
cmp rsi, 0x16
mov ecx, 0x16
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x18007330e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180073967
jmp 0x1800732bf
test rcx, rcx
je 0x180073324
call fcn.180082c18
mov r15, rax
mov rax, qword [rbp + 0x3e8]
jmp 0x180073327
xor r15d, r15d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rsi
mov r8, r13
mov rdx, rax
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r15 + r13]
mov r8, rbx
lea rdx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + r12], 0
mov esi, dword [rbp + 0x3f0]
or esi, 0x40
lea rbx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rbx, qword [rsp + 0x50]
lea rax, [0x180000000]
lea rax, [rax + 0x1030b0]
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0xd8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or esi, 8
mov dword [rbp + 0x3e8], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x30]
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 [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x30], rsi
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x2c], edx
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x38], rax
mov byte [rbp + 0xb4], 0
mov byte [rbp + 0xa9], 0
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
xor r12d, r12d
mov qword [rbp + 0xb8], r12
mov rax, qword [0x180394a88]
mov qword [rbp + 0xac], rax
mov qword [rbp + 0xa0], r12
lea r9d, [r12 + 0x40]
lea r8d, [r12 + 2]
mov rdx, rbx
lea rcx, [rbp + 0x38]
call fcn.18007acf0
test rax, rax
jne 0x18007345d
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x30]
add rcx, rax
xor r8d, r8d
lea edx, [r12 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x30], rsi
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x2c], edx
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x180073489
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rbp + 0x30]
call fcn.18005cc70
lea rdx, [0x18005e7b0]
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]
lea rcx, [rbp + 0x38]
call fcn.18006f300
test rax, rax
jne 0x1800734d1
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x30]
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]
nop
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x30], rsi
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x2c], edx
lea rcx, [rbp + 0x38]
call fcn.180064530
lea rcx, [rbp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xd8]
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 + 0x68]
cmp rdx, 0xf
jbe 0x180073551
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007354c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18007354c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180082be4
movdqa xmm0, xmmword [0x1800906f0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x1800735a2
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007359d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18007359d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180082be4
mov r15, qword [rbp - 0x10]
mov rcx, r15
mov qword [rbp + 0x20], rcx
test r15, r15
je 0x180073784
mov eax, dword [0x180394340]
test al, 1
jne 0x1800735d9
or eax, 1
mov dword [0x180394340], eax
lea rcx, [0x180088380]
call fcn.1800832f8
mov rcx, qword [rbp + 0x20]
mov rbx, qword [0x180394210]
test rbx, rbx
jne 0x18007364d
cmp qword [rcx], rbx
je 0x1800736c0
movdqa xmm0, xmmword [0x180105330]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0xbdb2fdbc
mov dword [rsp + 0x44], 0xb2fbb1a1
mov dword [rsp + 0x48], 0x100b4bb
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx - 0x41]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0x1a
jb 0x180073620
mov byte [rsp + 0x4b], 0
lea rcx, [rsp + 0x30]
call fcn.180069cf0
lea rbx, [rax + 0x16b20]
mov qword [0x180394210], rbx
lea rax, [0x180391f68]
mov qword [rbp + 0x3e8], rax
lea rax, [rbp + 0x3d8]
movabs rcx, 0x1d0164d8541d
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rsi, qword [rax]
xor rsi, rcx
mov qword [rsp + 0x30], rsi
mov qword [rax], r12
mov ecx, r12d
lea r13, [0x1800624e0]
mov rax, qword [0x180394350]
test rax, rax
je 0x18007371f
mov rdx, r12
lea r8, [0x180000000]
cmp rax, r13
je 0x180073712
inc ecx
mov edx, ecx
mov rax, qword [r8 + rcx*8 + 0x394350]
test rax, rax
jne 0x1800736a8
jmp 0x18007371f
mov r8, qword [rbp - 0x78]
cmp r8, 0xf
jbe 0x1800736d9
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.18006cb20
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
lea rcx, [rbp - 0x50]
call fcn.180064af0
nop
mov r8, qword [r14 + 0x18]
cmp r8, 0xf
jbe 0x1800738db
mov rdx, qword [r14]
mov rcx, r14
call fcn.18006cb20
jmp 0x1800738db
mov rax, qword [r8 + rdx*8 + 0x394670]
test rax, rax
jne 0x18007374f
mov rcx, r13
call fcn.180073e80
mov rcx, qword [0x180394348]
lea rdx, [0x180000000]
mov qword [rdx + rcx*8 + 0x394350], r13
mov qword [rdx + rcx*8 + 0x394670], rax
inc rcx
mov qword [0x180394348], rcx
lea r9, [rbp + 0x3e8]
lea r8, [rsp + 0x70]
lea rdx, [rbp + 0x20]
mov rcx, rbx
call rax
nop
movabs rcx, 0x1d0164d8541d
xor rsi, rcx
lea rcx, [rbp + 0x3d8]
mov qword [rcx], rsi
mov byte [0x18039433c], al
jmp 0x18007378b
movzx eax, byte [0x18039433c]
test al, al
je 0x18007379f
mov byte [0x180394318], 1
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x40]
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800737b4
mov qword [rsp + 0x38], rdi
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18005a630
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.18008457c
mov rdx, rax
shr rdx, 0x20
movzx ecx, al
mov qword [rbp + 0x3e8], rcx
mov dword [rsp + 0x30], edx
lea rax, [0x180392100]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
cmp edx, 0x91
jne 0x180073835
lea r8, [rbp + 0x3e8]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18006e190
cmp dword [rsp + 0x30], 0
jne 0x180073906
lea rcx, [rsp + 0x50]
call fcn.18006e9d0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x18007388a
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073885
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180073885
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180082be4
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
lea rcx, [rbp - 0x50]
call fcn.180064af0
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x1800738db
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x1800738d6
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800738ff
mov rcx, r8
call fcn.180082be4
mov byte [r14], 0
mov qword [r14 + 0x18], 0xf
mov qword [r14 + 0x10], r12
add rsp, 0x498
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, str.remove_all
call fcn.18006e680
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.18006e680
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.18006e680
nop
call fcn.1800020d0
nop
lea r8, [rbp]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.18006e680
nop
call fcn.1800020d0
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.create_directory
call fcn.18006e740
nop
call fcn.1800027b0
nop
call fcn.1800027b0
int3