Function at 0x14000e140
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x760]
sub rsp, 0x860
mov rbx, rcx
xor r14d, r14d
mov dword [rbp + 0x780], r14d
lea rcx, str.ProductAgentDP.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx], rax
test rax, rax
jne 0x14000e32e
lea rax, [0x140055f40]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], r14
mov dword [rbp + 0x18], 4
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x64], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000e28e
mov dword [rsp + 0x28], r14d
call fcn.1400288d0
mov qword [rsp + 0x20], rax
lock inc dword [rsp + 0x28]
mov dword [rbp + 0x780], 0xa
mov rax, qword [rsp + 0x20]
test rax, rax
jne 0x14000e26b
call fcn.1400288d0
mov qword [rsp + 0x20], rax
lock inc dword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
cmp qword [rax], 0
je 0x14000e28a
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000e28a
call qword [case.0x14004448e.0]
movzx ebx, al
jmp 0x14000e290
xor ebx, ebx
jmp 0x14000e290
xor bl, bl
mov eax, dword [rbp + 0x780]
test al, 8
je 0x14000e2d2
and eax, 0xfffffff7
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x20], r14
mov eax, 0xffffffff
lock xadd dword [rsp + 0x28], eax
cmp eax, 1
js 0x14000e2cd
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rsp + 0x28], eax
cmp eax, 1
jns 0x14000e2b8
lock inc dword [rsp + 0x28]
mov byte [rbp + 0x20], bl
mov dword [rbp + 0x24], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x28], rax
test bl, bl
je 0x14000e2fb
lea rdx, str.failed_load_ProductAgentDP.dll_err
lea rcx, [rbp - 0x60]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x20], 0
je 0x14000e314
mov edx, eax
lea rcx, [rbp - 0x60]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x38]
call fcn.140028b20
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
xor al, al
jmp 0x14000f1b3
xor sil, sil
lea rdx, str.ProductAgentDP_Init
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
test rax, rax
jne 0x14000e53d
lea rax, [0x140055f40]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x20
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x98]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x98]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x98], rax
mov rax, qword [rbp + 0x98]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x94], edx
lea rcx, [rbp + 0xa0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x108], r14
mov dword [rbp + 0x110], 4
mov rax, qword [rbp + 0x98]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x98], rax
mov rax, qword [rbp + 0x98]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x94], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000e489
mov dword [rsp + 0x38], r14d
call fcn.1400288d0
mov qword [rsp + 0x30], rax
lock inc dword [rsp + 0x38]
mov dword [rbp + 0x780], 0xa0
mov rax, qword [rsp + 0x30]
test rax, rax
jne 0x14000e466
call fcn.1400288d0
mov qword [rsp + 0x30], rax
lock inc dword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x14000e485
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000e485
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000e48c
xor edi, edi
jmp 0x14000e48c
xor dil, dil
mov eax, dword [rbp + 0x780]
test al, al
jns 0x14000e4cf
btr eax, 7
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x30], r14
mov eax, 0xffffffff
lock xadd dword [rsp + 0x38], eax
cmp eax, 1
js 0x14000e4ca
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rsp + 0x38], eax
cmp eax, 1
jns 0x14000e4b5
lock inc dword [rsp + 0x38]
mov byte [rbp + 0x118], dil
mov dword [rbp + 0x11c], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x120], rax
test dil, dil
je 0x14000e506
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Init_err
lea rcx, [rbp + 0x98]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x118], 0
je 0x14000e525
mov edx, eax
lea rcx, [rbp + 0x98]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x130]
call fcn.140028b20
lea rcx, [rbp + 0x130]
jmp 0x14000f177
lea rdx, str.ProductAgentDP_GetApps
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14000e74b
lea rax, [0x140055f40]
mov qword [rbp + 0x190], rax
lea rcx, [rbp + 0x228]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x200
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x190]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x190]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x190], rax
mov rax, qword [rbp + 0x190]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x18c], edx
lea rcx, [rbp + 0x198]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x200], r14
mov dword [rbp + 0x208], 4
mov rax, qword [rbp + 0x190]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x190], rax
mov rax, qword [rbp + 0x190]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x18c], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000e695
mov dword [rsp + 0x48], r14d
call fcn.1400288d0
mov qword [rsp + 0x40], rax
lock inc dword [rsp + 0x48]
mov dword [rbp + 0x780], 0xa00
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x14000e672
call fcn.1400288d0
mov qword [rsp + 0x40], rax
lock inc dword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
cmp qword [rax], 0
je 0x14000e691
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000e691
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000e698
xor edi, edi
jmp 0x14000e698
xor dil, dil
mov eax, dword [rbp + 0x780]
bt eax, 0xb
jae 0x14000e6dd
btr eax, 0xb
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x40], r14
mov eax, 0xffffffff
lock xadd dword [rsp + 0x48], eax
cmp eax, 1
js 0x14000e6d8
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rsp + 0x48], eax
cmp eax, 1
jns 0x14000e6c3
lock inc dword [rsp + 0x48]
mov byte [rbp + 0x210], dil
mov dword [rbp + 0x214], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x218], rax
test dil, dil
je 0x14000e714
lea rdx, str.failed_GetProcAddress_ProductAgentDP_GetApps_err
lea rcx, [rbp + 0x190]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x210], 0
je 0x14000e733
mov edx, eax
lea rcx, [rbp + 0x190]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x228]
call fcn.140028b20
lea rcx, [rbp + 0x228]
jmp 0x14000f177
lea rdx, str.ProductAgentDP_RemApp
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x14000e959
lea rax, [0x140055f40]
mov qword [rbp + 0x288], rax
lea rcx, [rbp + 0x320]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x2000
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x288]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x288]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x288], rax
mov rax, qword [rbp + 0x288]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x284], edx
lea rcx, [rbp + 0x290]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x290], rax
mov qword [rbp + 0x2f8], r14
mov dword [rbp + 0x300], 4
mov rax, qword [rbp + 0x288]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x288], rax
mov rax, qword [rbp + 0x288]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x284], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000e8a3
mov dword [rsp + 0x58], r14d
call fcn.1400288d0
mov qword [rsp + 0x50], rax
lock inc dword [rsp + 0x58]
mov dword [rbp + 0x780], 0xa000
mov rax, qword [rsp + 0x50]
test rax, rax
jne 0x14000e880
call fcn.1400288d0
mov qword [rsp + 0x50], rax
lock inc dword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
je 0x14000e89f
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000e89f
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000e8a6
xor edi, edi
jmp 0x14000e8a6
xor dil, dil
mov eax, dword [rbp + 0x780]
bt eax, 0xf
jae 0x14000e8eb
btr eax, 0xf
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x50], r14
mov eax, 0xffffffff
lock xadd dword [rsp + 0x58], eax
cmp eax, 1
js 0x14000e8e6
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rsp + 0x58], eax
cmp eax, 1
jns 0x14000e8d1
lock inc dword [rsp + 0x58]
mov byte [rbp + 0x308], dil
mov dword [rbp + 0x30c], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x310], rax
test dil, dil
je 0x14000e922
lea rdx, str.failed_GetProcAddress_ProductAgentDP_RemApp_err
lea rcx, [rbp + 0x288]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x308], 0
je 0x14000e941
mov edx, eax
lea rcx, [rbp + 0x288]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x320]
call fcn.140028b20
lea rcx, [rbp + 0x320]
jmp 0x14000f177
lea rdx, str.ProductAgentDP_Get
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x14000eb68
lea rax, [0x140055f40]
mov qword [rbp + 0x380], rax
lea rcx, [rbp + 0x418]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x20000
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x388]
lea rcx, [rbp + 0x380]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x380]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x380], rax
mov rax, qword [rbp + 0x380]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x37c], edx
lea rcx, [rbp + 0x388]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x388], rax
mov qword [rbp + 0x3f0], r14
mov dword [rbp + 0x3f8], 4
mov rax, qword [rbp + 0x380]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x380], rax
mov rax, qword [rbp + 0x380]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x37c], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000eab1
mov dword [rsp + 0x68], r14d
call fcn.1400288d0
mov qword [rsp + 0x60], rax
lock inc dword [rsp + 0x68]
mov dword [rbp + 0x780], 0xa0000
mov rax, qword [rsp + 0x60]
test rax, rax
jne 0x14000ea8e
call fcn.1400288d0
mov qword [rsp + 0x60], rax
lock inc dword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x14000eaad
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000eaad
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000eab4
xor edi, edi
jmp 0x14000eab4
xor dil, dil
mov eax, dword [rbp + 0x780]
bt eax, 0x13
jae 0x14000eafa
btr eax, 0x13
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x60], r14
mov eax, 0xffffffff
lock xadd dword [rsp + 0x68], eax
cmp eax, 1
js 0x14000eaf5
nop
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rsp + 0x68], eax
cmp eax, 1
jns 0x14000eae0
lock inc dword [rsp + 0x68]
mov byte [rbp + 0x400], dil
mov dword [rbp + 0x404], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x408], rax
test dil, dil
je 0x14000eb31
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Get_err
lea rcx, [rbp + 0x380]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x400], 0
je 0x14000eb50
mov edx, eax
lea rcx, [rbp + 0x380]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x418]
call fcn.140028b20
lea rcx, [rbp + 0x418]
jmp 0x14000f177
lea rdx, str.ProductAgentDP_Set
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x14000ed78
lea rax, [0x140055f40]
mov qword [rbp + 0x478], rax
lea rcx, [rbp + 0x510]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x200000
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x478]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x478]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x478], rax
mov rax, qword [rbp + 0x478]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x474], edx
lea rcx, [rbp + 0x480]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x4e8], r14
mov dword [rbp + 0x4f0], 4
mov rax, qword [rbp + 0x478]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x478], rax
mov rax, qword [rbp + 0x478]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x474], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000ecc0
mov dword [rsp + 0x78], r14d
call fcn.1400288d0
mov qword [rsp + 0x70], rax
lock inc dword [rsp + 0x78]
mov dword [rbp + 0x780], 0xa00000
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x14000ec9d
call fcn.1400288d0
mov qword [rsp + 0x70], rax
lock inc dword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
je 0x14000ecbc
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000ecbc
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000ecc3
xor edi, edi
jmp 0x14000ecc3
xor dil, dil
mov eax, dword [rbp + 0x780]
bt eax, 0x17
jae 0x14000ed0a
btr eax, 0x17
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x70], r14
mov eax, 0xffffffff
lock xadd dword [rsp + 0x78], eax
cmp eax, 1
js 0x14000ed05
nop
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rsp + 0x78], eax
cmp eax, 1
jns 0x14000ecf0
lock inc dword [rsp + 0x78]
mov byte [rbp + 0x4f8], dil
mov dword [rbp + 0x4fc], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x500], rax
test dil, dil
je 0x14000ed41
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Set_err
lea rcx, [rbp + 0x478]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x4f8], 0
je 0x14000ed60
mov edx, eax
lea rcx, [rbp + 0x478]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x510]
call fcn.140028b20
lea rcx, [rbp + 0x510]
jmp 0x14000f177
lea rdx, str.ProductAgentDP_BeginTransaction
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x30], rax
test rax, rax
jne 0x14000ef7b
lea rax, [0x140055f40]
mov qword [rbp + 0x570], rax
lea rcx, [rbp + 0x608]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x2000000
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x578]
lea rcx, [rbp + 0x570]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x570]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x570], rax
mov rax, qword [rbp + 0x570]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x56c], edx
lea rcx, [rbp + 0x578]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x578], rax
mov qword [rbp + 0x5e0], r14
mov dword [rbp + 0x5e8], 4
mov rax, qword [rbp + 0x570]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x570], rax
mov rax, qword [rbp + 0x570]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x56c], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000eec9
mov dword [rbp - 0x78], r14d
call fcn.1400288d0
mov qword [rbp - 0x80], rax
lock inc dword [rbp - 0x78]
mov dword [rbp + 0x780], 0xa000000
mov rax, qword [rbp - 0x80]
test rax, rax
jne 0x14000eea7
call fcn.1400288d0
mov qword [rbp - 0x80], rax
lock inc dword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
cmp qword [rax], 0
je 0x14000eec5
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000eec5
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000eecc
xor edi, edi
jmp 0x14000eecc
xor dil, dil
mov eax, dword [rbp + 0x780]
bt eax, 0x1b
jae 0x14000ef0d
btr eax, 0x1b
mov dword [rbp + 0x780], eax
mov qword [rbp - 0x80], r14
mov eax, 0xffffffff
lock xadd dword [rbp - 0x78], eax
cmp eax, 1
js 0x14000ef09
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rbp - 0x78], eax
cmp eax, 1
jns 0x14000eef5
lock inc dword [rbp - 0x78]
mov byte [rbp + 0x5f0], dil
mov dword [rbp + 0x5f4], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x5f8], rax
test dil, dil
je 0x14000ef44
lea rdx, str.failed_GetProcAddress_ProductAgentDP_BeginTransaction_err
lea rcx, [rbp + 0x570]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x5f0], 0
je 0x14000ef63
mov edx, eax
lea rcx, [rbp + 0x570]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x608]
call fcn.140028b20
lea rcx, [rbp + 0x608]
jmp 0x14000f177
lea rdx, str.ProductAgentDP_EndTransaction
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x38], rax
test rax, rax
jne 0x14000f1ac
lea rax, [0x140055f40]
mov qword [rbp + 0x668], rax
lea rcx, [rbp + 0x700]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rbp + 0x780], 0x20000000
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x670]
lea rcx, [rbp + 0x668]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x668]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x668], rax
mov rax, qword [rbp + 0x668]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x664], edx
lea rcx, [rbp + 0x670]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x670], rax
mov qword [rbp + 0x6d8], r14
mov dword [rbp + 0x6e0], 4
mov rax, qword [rbp + 0x668]
movsxd rcx, dword [rax + 4]
lea rax, vtable.logger_stream.0
mov qword [rbp + rcx + 0x668], rax
mov rax, qword [rbp + 0x668]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x664], edx
mov ecx, dword [0x14006b410]
mov eax, dword [0x14006b40c]
add ecx, eax
je 0x14000f0cc
mov dword [rbp - 0x68], r14d
call fcn.1400288d0
mov qword [rbp - 0x70], rax
lock inc dword [rbp - 0x68]
mov dword [rbp + 0x780], 0xa0000000
mov rax, qword [rbp - 0x70]
test rax, rax
jne 0x14000f0aa
call fcn.1400288d0
mov qword [rbp - 0x70], rax
lock inc dword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
cmp qword [rax], 0
je 0x14000f0c8
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14000f0c8
call qword [case.0x14004448e.0]
movzx edi, al
jmp 0x14000f0cf
xor edi, edi
jmp 0x14000f0cf
xor dil, dil
mov eax, dword [rbp + 0x780]
test eax, eax
jns 0x14000f10e
btr eax, 0x1f
mov dword [rbp + 0x780], eax
mov qword [rbp - 0x70], r14
mov eax, 0xffffffff
lock xadd dword [rbp - 0x68], eax
cmp eax, 1
js 0x14000f10a
call fcn.140028a30
mov eax, 0xffffffff
lock xadd dword [rbp - 0x68], eax
cmp eax, 1
jns 0x14000f0f6
lock inc dword [rbp - 0x68]
mov byte [rbp + 0x6e8], dil
mov dword [rbp + 0x6ec], 4
lea rax, str.ProductAgentDPDll::Init
mov qword [rbp + 0x6f0], rax
test dil, dil
je 0x14000f145
lea rdx, str.failed_GetProcAddress_ProductAgentDP_EndTransaction_err
lea rcx, [rbp + 0x668]
call fcn.1400211e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbp + 0x6e8], 0
je 0x14000f164
mov edx, eax
lea rcx, [rbp + 0x668]
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___unsigned_long_int____ptr64]
nop
lea rcx, [rbp + 0x700]
call fcn.140028b20
lea rcx, [rbp + 0x700]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000f1af
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], r14
mov qword [rbx + 0x30], r14
mov qword [rbx + 0x38], r14
jmp 0x14000f1af
mov sil, 1
movzx eax, sil
lea r11, [rsp + 0x860]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret