Function at 0x140037710
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rbx, rcx
lea rcx, str.ProductAgentDP.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx], rax
test rax, rax
jne 0x1400377a8
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rbx, rax
cmp byte [rax + 0x80], 0
je 0x140037773
lea rdx, str.failed_load_ProductAgentDP.dll_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbx + 0x80], 0
je 0x14003778e
mov edx, eax
mov rcx, rbx
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 - 0x48]
call fcn.140004f20
lea rcx, [rbp - 0x48]
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 0x140037aca
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 0x140037813
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], sil
je 0x1400377f3
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Init_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x14003780e
mov edx, eax
mov rcx, rdi
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
jmp 0x140037a7f
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 0x14003787b
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x14003785b
lea rdx, str.failed_GetProcAddress_ProductAgentDP_GetApps_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x140037876
mov edx, eax
mov rcx, rdi
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
jmp 0x140037a7f
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 0x1400378e3
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x1400378c3
lea rdx, str.failed_GetProcAddress_ProductAgentDP_RemApp_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x1400378de
mov edx, eax
mov rcx, rdi
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
jmp 0x140037a7f
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 0x14003794b
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x14003792b
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Get_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x140037946
mov edx, eax
mov rcx, rdi
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
jmp 0x140037a7f
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 0x1400379b3
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x140037993
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Set_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x1400379ae
mov edx, eax
mov rcx, rdi
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
jmp 0x140037a7f
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 0x140037a18
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x1400379fb
lea rdx, str.failed_GetProcAddress_ProductAgentDP_BeginTransaction_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x140037a16
mov edx, eax
mov rcx, rdi
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
jmp 0x140037a7f
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 0x140037ac3
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140005190
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x140037a64
lea rdx, str.failed_GetProcAddress_ProductAgentDP_EndTransaction_err
mov rcx, rax
call fcn.1400062b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x140037a7f
mov edx, eax
mov rcx, rdi
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 - 0x48]
call fcn.140004f20
lea rcx, [rbp - 0x48]
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 0x140037ac6
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
jmp 0x140037ac6
mov sil, 1
movzx eax, sil
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret