Function at 0x140015c40
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
movzx r12d, dl
mov r15, rcx
xor esi, esi
mov dword [rbp + 0x240], esi
call fcn.14001def0
mov byte [0x14003d8cb], al
lea rax, [rsp + 0x30]
mov qword [rbp - 0x50], rax
call fcn.140001540
mov rcx, rax
test rax, rax
je 0x140016a42
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rbx, str.LogTransportProcessor.txt
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14000a7b0
lea rdi, [rsi - 1]
test al, al
jne 0x140015ce1
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140015cc6
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14000aee0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x48]
call fcn.14001d250
nop
mov r8d, 2
mov rdx, qword [rax]
lea rcx, [rbp - 0x30]
call fcn.140009760
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015d21
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rax, qword [r15]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140015d3b
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140015d4c
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a4d
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov dword [rbp + 0x240], 1
lea r9, [0x140030020]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [r9 + rax*2], 0
jne 0x140015d80
mov rdx, qword [r15]
mov dword [rsp + 0x20], eax
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.14000a9f0
lea r8, str.CRLogTransport.exe
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x248]
call fcn.140009d70
nop
mov dword [rbp + 0x240], esi
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015ddd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
mov rdx, qword [rbp + 0x248]
lea rcx, [rbp + 0xe0]
call fcn.1400180c0
nop
mov rcx, qword [rbp + 0xe0]
movsxd rax, dword [rcx + 4]
cmp dword [rbp + rax + 0xf0], 0
je 0x140015f0b
cmp byte [0x14003d8cb], 1
jne 0x140015e4c
lea rdx, str.Log_transport_not_present
lea rcx, [rbp - 0x30]
call fcn.14000b770
lea rdx, [0x14000bba0]
mov rcx, rax
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, qword [rbp + 0xe0]
movsxd rax, dword [rcx + 4]
lea rdx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0xe0], rdx
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xdc], edx
lea rcx, [rbp + 0xf0]
call fcn.140017fe0
lea rcx, [rbp + 0xf8]
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 + 0x190]
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 [rbp + 0x248]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015ebf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x28]
call fcn.1400096b0
lea rcx, [rbp - 0x20]
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 + 0x78]
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 rdx, qword [r15]
jmp 0x140016a05
mov rax, qword [rbp + 0x248]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140015f29
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140015f3a
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a58
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov dword [rbp + 0x240], 4
mov r9, qword [rbp + 0x248]
mov ecx, dword [r9 - 0x10]
lea r13, [0x14003271c]
mov rax, rdi
inc rax
cmp word [r13 + rax*2], 0
jne 0x140015f71
mov dword [rsp + 0x20], ecx
mov r8d, eax
mov rdx, r13
lea rcx, [rsp + 0x50]
call fcn.14000a9f0
nop
mov rbx, qword [rsp + 0x50]
lea r14, [rbx - 0x18]
mov rcx, qword [r14]
test rcx, rcx
je 0x140015fb1
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140015fc2
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a63
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov dword [rbp + 0x240], 0xc
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [r13 + rax*2], 0
jne 0x140015ff0
mov dword [rsp + 0x20], eax
mov r9, r13
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14000a9f0
mov rdx, qword [rsp + 0x58]
lea rbx, [rdx - 0x18]
mov rsi, qword [rbp + 0x248]
add rsi, 0xffffffffffffffe8
cmp rbx, rsi
je 0x140016088
mov eax, dword [rsi + 0x10]
shr eax, 0x1f
test al, al
jne 0x140016077
mov rax, qword [rsi]
cmp qword [rbx], rax
jne 0x140016077
mov rcx, rbx
call fcn.14000adf0
mov r15, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140016063
mov rcx, qword [rsi]
mov r8, qword [rcx]
mov rdx, rsi
call qword [rVariantCopy + 8]
lea rax, [r15 + 0x18]
mov qword [rbp + 0x248], rax
mov r15, qword [rbp + 0x230]
jmp 0x140016088
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x248]
call fcn.14000aee0
nop
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400160a0
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + VariantCopy]
mov dword [rbp + 0x240], 0
mov eax, edi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x1400160c3
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + VariantCopy]
cmp byte [0x14003d8cb], 1
jne 0x1400160f9
lea rdx, str.bVerifySignatureBeforeLaunching:
lea rcx, [rbp - 0x30]
call fcn.14000b770
movzx edx, r12b
mov rcx, rax
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___bool____ptr64]
lea rdx, [0x14000bba0]
mov rcx, rax
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]
cmp r12b, 1
jne 0x1400161b1
lea rcx, [rbp - 0x40]
call fcn.140021ff0
nop
mov rcx, qword [rax]
call fcn.140027af0
test eax, eax
setne bl
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016137
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
test bl, bl
jne 0x140016184
cmp byte [0x14003d8cb], 1
jne 0x140016165
lea rdx, str.Verification_failed_for_log_transport_file._Returning
lea rcx, [rbp - 0x30]
call fcn.14000b770
lea rdx, [0x14000bba0]
mov rcx, rax
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 rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea rdx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xe0], rdx
jmp 0x140015e5f
cmp byte [0x14003d8cb], 1
jne 0x140016233
lea rdx, str.Signature_verification_successful_for_Log_transport
lea rcx, [rbp - 0x30]
call fcn.14000b770
lea rdx, [0x14000bba0]
mov rcx, rax
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]
cmp byte [0x14003d8cb], 1
jne 0x140016233
lea rdx, str.Going_to_execute_the_log_transport
lea rcx, [rbp - 0x30]
call fcn.14000b770
lea rdx, [0x14000bba0]
mov rcx, rax
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.LogTransport_path_is_:
lea rcx, [rbp - 0x30]
call fcn.14000b770
mov rdx, qword [rbp + 0x248]
mov rcx, rax
call fcn.14000b9d0
lea rdx, [0x14000bba0]
mov rcx, rax
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 - 0x28]
call fcn.14000a570
test rax, rax
jne 0x140016233
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_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
lea rcx, [rbp - 0x38]
call fcn.14001d4f0
nop
mov r12, qword [rax]
mov rax, qword [r15]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14001625a
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14001626b
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a6e
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov dword [rbp + 0x240], 0x20
mov r9, qword [r15]
mov ecx, dword [r9 - 0x10]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [r13 + rax*2], 0
jne 0x1400162a0
mov dword [rsp + 0x20], ecx
mov r8d, eax
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.14000a9f0
nop
mov rbx, qword [rsp + 0x60]
lea r13, [rbx - 0x18]
mov rcx, qword [r13]
test rcx, rcx
je 0x1400162e1
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400162f2
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a79
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x240], 0x60
mov rax, rdi
lea rsi, [0x14003271c]
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x140016320
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.14000a9f0
nop
mov rbx, qword [rsp + 0x68]
lea r15, [rbx - 0x18]
mov rcx, qword [r15]
test rcx, rcx
je 0x140016362
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140016373
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a84
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov dword [rbp + 0x240], 0xe0
lea rcx, [0x1400327f8]
mov rax, rdi
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400163a0
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.14000a9f0
nop
mov rbx, qword [rsp + 0x70]
lea r14, [rbx - 0x18]
mov rcx, qword [r14]
test rcx, rcx
je 0x1400163e2
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400163f3
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a8f
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov dword [rbp + 0x240], 0x1e0
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140016420
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.14000a9f0
nop
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x14001645f
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140016470
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a9a
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov dword [rbp + 0x240], 0x1f0
test r12, r12
jne 0x14001649b
xor eax, eax
jmp 0x1400164ab
mov rax, rdi
nop
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400164a0
mov dword [rsp + 0x20], eax
mov r9, r12
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14000a9f0
lea r8, [0x14003271c]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x58]
call fcn.140009d70
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400164f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x140016513
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x14001652d
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [r15 + 0x10], eax
sub eax, 1
jg 0x140016546
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + VariantCopy]
xor ebx, ebx
mov dword [rbp + 0x240], ebx
mov eax, edi
lock xadd dword [r13 + 0x10], eax
sub eax, 1
jg 0x140016569
mov rcx, qword [r13]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016586
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9, qword [rbp - 0x58]
mov r8, qword [rbp + 0x248]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rcx, [rbp - 0x50]
call fcn.14001d590
nop
mov r13, qword [rax]
mov rbx, qword [rbp + 0x230]
mov rax, qword [rbx]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x1400165d2
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400165e3
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016aa5
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
mov dword [rbp + 0x240], 0x400
mov r9, qword [rbx]
mov ecx, dword [r9 - 0x10]
mov rax, rdi
lea rsi, [0x14003271c]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140016615
mov dword [rsp + 0x20], ecx
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.14000a9f0
nop
mov rbx, qword [rbp - 0x80]
lea r12, [rbx - 0x18]
mov rcx, qword [r12]
test rcx, rcx
je 0x140016652
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x140016663
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016ab0
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
mov dword [rbp + 0x240], 0xc00
mov rax, rdi
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140016690
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.14000a9f0
nop
mov rbx, qword [rbp - 0x78]
lea r15, [rbx - 0x18]
mov rcx, qword [r15]
test rcx, rcx
je 0x1400166d0
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400166e1
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016abb
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x70], rax
mov dword [rbp + 0x240], 0x1c00
mov rax, rdi
lea r9, [0x1400327f8]
nop dword [rax]
inc rax
cmp word [r9 + rax*2], 0
jne 0x140016710
mov dword [rsp + 0x20], eax
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.14000a9f0
nop
mov rbx, qword [rbp - 0x70]
lea r14, [rbx - 0x18]
mov rcx, qword [r14]
test rcx, rcx
je 0x14001674e
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14001675f
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016ac6
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x240], 0x3c00
mov rax, rdi
inc rax
cmp word [rsi + rax*2], 0
jne 0x140016783
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.14000a9f0
nop
mov rbx, qword [rbp - 0x68]
mov rcx, qword [rbx - 0x18]
test rcx, rcx
je 0x1400167c0
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x1400167d1
call fcn.140001540
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140016a37
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov dword [rbp + 0x240], 0x7c00
test r13, r13
jne 0x1400167fc
xor eax, eax
jmp 0x14001680c
mov rax, rdi
nop
inc rax
cmp word [r13 + rax*2], 0
jne 0x140016800
mov dword [rsp + 0x20], eax
mov r9, r13
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.14000a9f0
lea r8, [0x14003271c]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x60]
call fcn.140009d70
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016859
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x140016874
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x14001688e
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [r15 + 0x10], eax
sub eax, 1
jg 0x1400168a8
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + VariantCopy]
nop
mov eax, edi
lock xadd dword [r12 + 0x10], eax
sub eax, 1
jg 0x1400168c4
mov rcx, qword [r12]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400168e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp + 0x248]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001691f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001693d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea rdx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xe0], rdx
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xdc], edx
lea rcx, [rbp + 0xf0]
call fcn.140017fe0
lea rcx, [rbp + 0xf8]
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 + 0x190]
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 [rbp + 0x248]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400169b7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
nop
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x28]
call fcn.1400096b0
lea rcx, [rbp - 0x20]
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 + 0x78]
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 rdx, qword [rbp + 0x230]
mov rdx, qword [rdx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140016a1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rbx, qword [rsp + 0x338]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
nop
mov ecx, 0x80004005
call fcn.140001300
int3