Function at 0x140022680
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x98], rbx
mov rax, qword [0x1400a3010]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, rcx
lea rdx, str.uiStartup
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022741
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x1400226e8
mov r8d, ebx
jmp 0x1400226fa
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x1400226f0
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiStartup
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x10], rax
lea rdx, str.uiCleanup
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1400227d5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022780
mov r8d, ebx
jmp 0x14002278e
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x140022784
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiCleanup
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x18], rax
lea rdx, str.uiInit
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022871
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022818
mov r8d, ebx
jmp 0x14002282a
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140022820
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiInit
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x20], rax
lea rdx, str.uiExit
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022905
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x1400228b0
mov r8d, ebx
jmp 0x1400228be
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x1400228b4
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiExit
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x28], rax
lea rdx, str.uiAfterReinit
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1400229a1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022948
mov r8d, ebx
jmp 0x14002295a
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140022950
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiAfterReinit
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x30], rax
lea rdx, str.uiBeforeReinit
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022a35
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x1400229e0
mov r8d, ebx
jmp 0x1400229ee
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x1400229e4
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiBeforeReinit
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x38], rax
lea rdx, str.uiOnInit
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022ad1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022a78
mov r8d, ebx
jmp 0x140022a8a
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140022a80
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiOnInit
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x40], rax
lea rdx, str.uiOnDone
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022b65
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022b10
mov r8d, ebx
jmp 0x140022b1e
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x140022b14
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiOnDone
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x48], rax
lea rdx, str.uiOnPostInit
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022c01
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022ba8
mov r8d, ebx
jmp 0x140022bba
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140022bb0
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiOnPostInit
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x50], rax
lea rdx, str.uiFirstConnect
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022c95
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022c40
mov r8d, ebx
jmp 0x140022c4e
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x140022c44
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
mov dword [rbp - 0x60], ebx
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, str.uiFirstConnect
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x58], rax
lea rdx, str.uiChangeUser
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022d37
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov qword [rbp - 0x38], 7
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov word [rbp - 0x50], bx
cmp word [rax], bx
jne 0x140022cd8
mov r8d, ebx
jmp 0x140022cea
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140022ce0
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.1400113d0
nop
mov qword [rbp - 0x18], 7
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
lea rcx, [rbp - 0x60]
call qword [sym.imp.isl3.dll_public:_void___cdecl_isl::text_encoding::constructor_void____ptr64]
mov r8, rax
lea rdx, [rbp - 0x30]
lea rcx, str.uiChangeUser
call qword [sym.imp.isl3.dll_void___cdecl_isl::char_to_wide_char_const____ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64__class_isl::text_encoding_const____ptr64_]
nop
lea rdx, [0x14009cdf8]
lea rcx, [rbp - 0x50]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rbx + 0x60], rax
lea rdx, str.uiChangeDatabase
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022d60
lea rdx, str.uiChangeDatabase
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x68], rax
lea rdx, str.uiDataRefresh
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022d89
lea rdx, str.uiDataRefresh
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x70], rax
lea rdx, str.uiSetupVM
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022db2
lea rdx, str.uiSetupVM
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x78], rax
lea rdx, str.uiSetVMDebugConfig
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022ddb
lea rdx, str.uiSetVMDebugConfig
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x80], rax
lea rdx, str.uiGetVMDebugConfig
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022e07
lea rdx, str.uiGetVMDebugConfig
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x88], rax
lea rdx, str.uiSetVMTraceMode
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022e33
lea rdx, str.uiSetVMTraceMode
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x90], rax
lea rdx, str.uiEnableVMOutput
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022e5f
lea rdx, str.uiEnableVMOutput
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0x98], rax
lea rdx, str.uiCreateActionParams
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022e8b
lea rdx, str.uiCreateActionParams
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xa0], rax
lea rdx, str.uiValidateActionParams
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022eb7
lea rdx, str.uiValidateActionParams
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xa8], rax
lea rdx, str.uiClientAction
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022ee3
lea rdx, str.uiClientAction
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xb0], rax
lea rdx, str.uiClientActionUpdUI
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022f0f
lea rdx, str.uiClientActionUpdUI
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xb8], rax
lea rdx, str.uiGetActionHelpStr
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022f3b
lea rdx, str.uiGetActionHelpStr
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xc0], rax
lea rdx, str.uiOnGuideCommand
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022f67
lea rdx, str.uiOnGuideCommand
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xc8], rax
lea rdx, str.uiStatusBarEvent
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022f93
lea rdx, str.uiStatusBarEvent
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xd0], rax
lea rdx, str.uiIdle
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022fbf
lea rdx, str.uiIdle
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xd8], rax
lea rdx, str.uiGetGUIVariantCount
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140022feb
lea rdx, str.uiGetGUIVariantCount
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xe0], rax
lea rdx, str.uiGetGUIVariantInfo
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140023017
lea rdx, str.uiGetGUIVariantInfo
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xe8], rax
lea rdx, str.uiSelectGUIVariant
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140023043
lea rdx, str.uiSelectGUIVariant
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xf0], rax
lea rdx, str.uiReloadFormats
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14002306f
lea rdx, str.uiReloadFormats
mov rcx, rbx
call fcn.140023340
mov qword [rbx + 0xf8], rax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140065260
mov rbx, qword [rsp + 0x98]
add rsp, 0x80
pop rbp
ret