Function at 0x1400120c0
Capabilities:
Move file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x278]
sub rsp, 0x360
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140032008]
xor rax, rsp
mov qword [rbp + 0x258], rax
mov rsi, rcx
mov qword [rbp + 0xa8], rcx
xor eax, eax
mov qword [rbp + 0x1c0], rax
lea rcx, [rbp + 0x1c0]
call fcn.1400170a0
nop
mov rax, qword [rbp + 0x1c0]
cmp dword [rax - 0x10], 0
jne 0x140012133
lea rdx, [rax - 0x18]
or rdi, 0xffffffffffffffff
jmp 0x140012eb5
xor eax, eax
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x1f0]
call fcn.14001e6c0
nop
xor eax, eax
mov qword [rbp + 0x1c8], rax
cmp qword [rsi + 0x18], 0x10
jb 0x14001215e
mov rbx, qword [rsi]
jmp 0x140012161
mov rbx, rsi
call fcn.140001490
mov rcx, rax
test rax, rax
jne 0x140012179
mov ecx, 0x80004005
call fcn.1400011d0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
test rbx, rbx
je 0x1400121b7
test rbx, 0xffffffffffff0000
jne 0x1400121b7
movzx ebx, bx
mov ecx, ebx
call fcn.1400012a0
test rax, rax
je 0x1400121c5
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140009f50
jmp 0x1400121c5
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140009680
nop
lea r8, [rbp + 0x1f0]
lea rdx, str.crlog_
lea rcx, [rbp - 0x58]
call fcn.140013650
nop
lea r8, [0x1400258b8]
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400083e0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp + 0x1c8]
call fcn.1400084b0
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012228
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012246
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012264
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
mov qword [rbp + 0x1d0], rax
lea r8, [0x140023b60]
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp - 0x40]
call fcn.1400083e0
nop
mov r8, qword [rbp + 0x1c8]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400083e0
nop
lea r8, str..log
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400083e0
nop
lea r8, str..dmp
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.1400083e0
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400122e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012300
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001231d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
mov qword [rbp + 0x1e8], rax
lea r8, [0x140023b60]
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp - 0x28]
call fcn.1400083e0
nop
mov r8, qword [rbp + 0x1c8]
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1400083e0
nop
lea r8, str..log
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1400083e0
nop
lea r8, str..final
mov rdx, rax
lea rcx, [rbp + 0x1e8]
call fcn.1400083e0
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001239b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400123b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400123d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x1d0]
lea rcx, [rbp + 0x20]
call fcn.1400151a0
call fcn.140014e40
call fcn.140014e40
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x230]
call qword [sym.imp.MSVCP140.dll__Stat]
cmp eax, 8
setne cl
test cl, cl
je 0x14001241e
cmp eax, 0xffffffff
je 0x14001241e
mov bl, 1
jmp 0x140012420
xor bl, bl
mov r8, qword [rbp + 0x38]
cmp r8, 8
jb 0x140012436
inc r8
mov rdx, qword [rbp + 0x20]
call fcn.1400099b0
test bl, bl
jne 0x1400126d2
lea r8, [0x140023b60]
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp - 0x80]
call fcn.1400083e0
nop
mov r8, qword [rbp + 0x1c8]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400083e0
nop
lea r8, str..log
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1400083e0
nop
lea r8, str..dmp.full
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1400083e0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x1d0]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400124f6
cmp dword [rbx + 0x10], 0
jl 0x1400124e5
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400124e5
call fcn.140009a50
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400124d8
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [r14 + 0x18]
mov qword [rbp + 0x1d0], rax
jmp 0x1400124f6
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x1d0]
call fcn.140009ae0
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012514
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012532
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012550
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001256d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [0x140023b60]
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x70]
call fcn.1400083e0
nop
mov r8, qword [rbp + 0x1c8]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400083e0
nop
lea r8, str..log
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.1400083e0
nop
lea r8, str..final
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.1400083e0
nop
lea r8, str..full
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1400083e0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x1e8]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14001263b
cmp dword [rbx + 0x10], 0
jl 0x14001262a
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14001262a
call fcn.140009a50
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14001261d
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [r14 + 0x18]
mov qword [rbp + 0x1e8], rax
jmp 0x14001263b
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x1e8]
call fcn.140009ae0
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012677
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012695
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400126b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400126d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
mov qword [rbp + 0x1d8], rax
lea r8, [0x140023b60]
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x58]
call fcn.1400083e0
nop
mov r8, qword [rbp + 0x1c8]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1400083e0
nop
lea r8, str..log
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1400083e0
nop
lea r8, str..solurl
mov rdx, rax
lea rcx, [rbp + 0x1d8]
call fcn.1400083e0
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012754
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012773
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012791
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
mov qword [rbp + 0x1f8], rax
lea r8, [0x140023b60]
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 8]
call fcn.1400083e0
nop
mov r8, qword [rbp + 0x1c8]
mov rdx, rax
lea rcx, [rbp]
call fcn.1400083e0
nop
lea r8, str..log
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1400083e0
nop
lea r8, str..sessionid
mov rdx, rax
lea rcx, [rbp + 0x1f8]
call fcn.1400083e0
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001280f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001282d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001284a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x1d8]
add rcx, 0xffffffffffffffe8
call fcn.140009a50
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x210]
call fcn.14001c5d0
nop
mov r9d, 0xe
lea rcx, [rbp + 0x210]
call fcn.140014540
mov r9, rax
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x210]
call fcn.140013730
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.14000f000
mov r8, qword [rbp + 0xa0]
cmp r8, 8
jb 0x1400128c8
inc r8
mov rdx, qword [rbp + 0x88]
call fcn.1400099b0
xor eax, eax
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x208], rax
lea ecx, [rax + 0x40]
call fcn.14001fad4
mov rbx, rax
mov qword [rbp + 0x1e0], rax
xor edx, edx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::codecvt_wchar_t__char__struct__Mbstatet_::constructor_unsigned_long_long_unsigned___int64_____ptr64]
lea rax, vtable.std::codecvt_utf8_wchar_t__1114111__0_.0
mov qword [rbx], rax
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCP140.dll_public:_static_class_std::locale___cdecl_std::locale::empty_void_]
nop
mov rcx, qword [rax + 8]
call qword [sym.imp.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Locimp::_New_Locimp_class_std::locale::_Locimp_const____ptr64_]
mov qword [rbp + 0x208], rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::locale::id_std::codecvt_wchar_t__char__struct__Mbstatet_::id]
call qword [sym.imp.MSVCP140.dll_public:_unsigned_long_long_unsigned___int64____cdecl_std::locale::id::operator_unsigned_long_long_unsigned___int64__void____ptr64]
mov r8, rax
mov rdx, rbx
mov rcx, qword [rbp + 0x208]
call qword [sym.imp.MSVCP140.dll_private:_void___cdecl_std::locale::_Locimp::_Addfac_class_std::locale::facet____ptr64__unsigned_long_long_unsigned___int64_____ptr64]
xor r14d, r14d
mov rax, qword [rbp + 0x208]
mov dword [rax + 0x20], r14d
mov rcx, qword [rbp + 0x208]
add rcx, 0x28
lea rdx, [0x140023b8c]
call qword [sym.imp.MSVCP140.dll_public:_class_std::_Yarn_char_____ptr64___cdecl_std::_Yarn_char_::operator_char_const____ptr64____ptr64]
nop
mov rcx, qword [rbp + 0x68]
test rcx, rcx
je 0x140012984
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140012984
mov r8, qword [rax]
lea edx, [r14 + 1]
mov rcx, rax
call qword [r8]
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0xb0]
call sub.VCRUNTIME140.dll_memset
mov r8d, 2
mov rdx, qword [rbp + 0x1d8]
lea rcx, [rbp + 0xb0]
call fcn.140007620
nop
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xb0]
add rcx, rax
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
nop
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x1400129fc
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1400129fc
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
lea rdx, [rbp + 0x210]
cmp qword [rbp + 0x228], 8
cmovae rdx, qword [rbp + 0x210]
lea rcx, [rbp + 0xb0]
call fcn.14000a8d0
mov rcx, rax
lea rdx, [0x14000aab0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
call fcn.140001490
mov rcx, rax
test rax, rax
jne 0x140012a47
mov ecx, 0x80004005
call fcn.1400011d0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x1e0], rax
lea rdx, [0x1400258fc]
test rdx, 0xffffffffffff0000
jne 0x140012a8b
movzx ebx, dx
mov ecx, ebx
call fcn.1400012a0
test rax, rax
je 0x140012aaa
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x1e0]
call fcn.140009f50
jmp 0x140012aaa
mov rax, rdi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140012a90
mov r8d, eax
lea rcx, [rbp + 0x1e0]
call fcn.140009ae0
nop
lea rcx, [rbp + 0x1e0]
call fcn.14001e050
lea rdx, [rbp + 0x1e0]
call fcn.140013520
test al, al
je 0x140012b58
mov rcx, qword [rbp + 0x1f8]
add rcx, 0xffffffffffffffe8
call fcn.140009a50
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x238]
call fcn.14001c5d0
nop
lea rbx, [rbp + 0x238]
cmp qword [rbp + 0x250], 8
cmovae rbx, qword [rbp + 0x238]
lea rdx, [0x14000aab0]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
mov rdx, rbx
call fcn.14000a8d0
mov rcx, rax
lea rdx, [0x14000aab0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
nop
mov r8, qword [rbp + 0x250]
cmp r8, 8
jb 0x140012b58
inc r8
mov rdx, qword [rbp + 0x238]
call fcn.1400099b0
lea rdx, str._dump_
lea rcx, [rbp + 0xb0]
call fcn.14000a8d0
mov rcx, rax
lea rdx, [0x14000aab0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rcx, [rbp + 0xb8]
call fcn.140009510
test rax, rax
jne 0x140012bae
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xb0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
lea rax, [rsp + 0x38]
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x1d8]
add rcx, 0xffffffffffffffe8
call fcn.140009a50
add rax, 0x18
mov qword [rsp + 0x38], rax
mov rcx, qword [rbp + 0x1d0]
add rcx, 0xffffffffffffffe8
call fcn.140009a50
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x50]
call fcn.14001d160
mov r8d, 0xa
mov rdx, qword [rbp + 0x1d8]
lea rcx, [rbp + 0xb8]
call fcn.140009590
xor r8d, r8d
test rax, rax
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xb0]
jne 0x140012c3a
add rcx, rax
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
jmp 0x140012c45
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::clear_int__bool____ptr64]
lea rdx, [0x14000aab0]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.__dump_
call fcn.14000a8d0
mov rcx, rax
lea rdx, [0x14000aab0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, str.__crashreport_
lea rcx, [rbp + 0xb0]
call fcn.14000a8d0
mov rcx, rax
lea rdx, [0x14000aab0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rcx, [rbp + 0xb8]
call fcn.140009510
test rax, rax
jne 0x140012cce
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xb0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
mov rdx, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wrename]
mov qword [rbp + 0x58], 0xf
mov qword [rbp + 0x50], r14
mov byte [rbp + 0x40], 0
mov r9, rdi
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.140008db0
lea rcx, [rbp + 0x40]
call fcn.140012f00
nop
mov rdx, qword [rbp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012d2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0xb0], rax
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xac], edx
lea rcx, [rbp + 0xb8]
call fcn.1400082a0
lea rcx, [rbp + 0xc0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x158]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x140012dae
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140012dae
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov r8, qword [rbp + 0x228]
cmp r8, 8
jb 0x140012dca
inc r8
mov rdx, qword [rbp + 0x210]
call fcn.1400099b0
mov qword [rbp + 0x228], 7
mov qword [rbp + 0x220], r14
mov word [rbp + 0x210], r14w
mov rdx, qword [rbp + 0x1f8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e05
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x1d8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x1e8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x1c8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012e89
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x1f0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140012eaa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x1c0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140012ec9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, rsi
call fcn.140007490
mov rcx, qword [rbp + 0x258]
xor rcx, rsp
call fcn.14001f400
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret