Function at 0x140033390
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 0x140033428
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rbx, rax
cmp byte [rax + 0x80], 0
je 0x1400333f3
lea rdx, str.failed_load_ProductAgentDP.dll_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rbx + 0x80], 0
je 0x14003340e
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.140004c30
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 0x14003374a
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 0x140033493
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], sil
je 0x140033473
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Init_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x14003348e
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 0x1400336ff
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 0x1400334fb
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x1400334db
lea rdx, str.failed_GetProcAddress_ProductAgentDP_GetApps_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x1400334f6
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 0x1400336ff
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 0x140033563
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x140033543
lea rdx, str.failed_GetProcAddress_ProductAgentDP_RemApp_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x14003355e
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 0x1400336ff
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 0x1400335cb
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x1400335ab
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Get_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x1400335c6
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 0x1400336ff
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 0x140033633
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x140033613
lea rdx, str.failed_GetProcAddress_ProductAgentDP_Set_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x14003362e
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 0x1400336ff
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 0x140033698
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x14003367b
lea rdx, str.failed_GetProcAddress_ProductAgentDP_BeginTransaction_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x140033696
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 0x1400336ff
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 0x140033743
lea r8, str.ProductAgentDPDll::Init
lea edx, [rax + 4]
lea rcx, [rsp + 0x20]
call fcn.140004ea0
mov rdi, rax
cmp byte [rax + 0x80], 0
je 0x1400336e4
lea rdx, str.failed_GetProcAddress_ProductAgentDP_EndTransaction_err
mov rcx, rax
call fcn.140005f70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [rdi + 0x80], 0
je 0x1400336ff
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.140004c30
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 0x140033746
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 0x140033746
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