Function at 0x406650
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [rcx + 0x10]
call fcn.004077e0
lea rcx, [rbx + 0x1010]
mov qword [rbx + 0x4048], rax
call fcn.004077e0
mov rcx, qword [rbx + 0x4048]
mov qword [rbx + 0x4050], rax
mov rdx, rax
test rax, rax
je 0x405fb0
test rcx, rcx
je 0x405fb0
add rsp, 0x20
pop rbx
jmp 0x406650
lea rcx, str.LOADER:_Failed_to_load_tcl_tk_libraries_n
call fcn.00402b50
mov eax, 0xffffffff
add rsp, 0x20
pop rbx
ret
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rcx
mov rdi, rdx
lea rdx, str.Tcl_Init
call rsi
mov qword [0x0042e410], rax
test rax, rax
je 0x4069cf
lea rdx, str.Tcl_CreateInterp
mov rcx, rbx
call rsi
mov qword [0x0042e408], rax
test rax, rax
je 0x406a04
lea rdx, str.Tcl_FindExecutable
mov rcx, rbx
call rsi
mov qword [0x0042e400], rax
test rax, rax
je 0x4069ef
lea rdx, str.Tcl_DoOneEvent
mov rcx, rbx
call rsi
mov qword [0x0042e3f8], rax
test rax, rax
je 0x406a2e
lea rdx, str.Tcl_Finalize
mov rcx, rbx
call rsi
mov qword [0x0042e3f0], rax
test rax, rax
je 0x406a19
lea rdx, str.Tcl_FinalizeThread
mov rcx, rbx
call rsi
mov qword [0x0042e3e8], rax
test rax, rax
je 0x406a70
lea rdx, str.Tcl_DeleteInterp
mov rcx, rbx
call rsi
mov qword [0x0042e3e0], rax
test rax, rax
je 0x406a58
lea rdx, str.Tcl_CreateThread
mov rcx, rbx
call rsi
mov qword [0x0042e3d8], rax
test rax, rax
je 0x406a43
lea rdx, str.Tcl_GetCurrentThread
mov rcx, rbx
call rsi
mov qword [0x0042e3d0], rax
test rax, rax
je 0x406a88
lea rdx, str.Tcl_MutexLock
mov rcx, rbx
call rsi
mov qword [0x0042e3c8], rax
test rax, rax
je 0x406ae8
lea rdx, str.Tcl_MutexUnlock
mov rcx, rbx
call rsi
mov qword [0x0042e3c0], rax
test rax, rax
je 0x406ad0
lea rdx, str.Tcl_ConditionFinalize
mov rcx, rbx
call rsi
mov qword [0x0042e3b8], rax
test rax, rax
je 0x406ab8
lea rdx, str.Tcl_ConditionNotify
mov rcx, rbx
call rsi
mov qword [0x0042e3b0], rax
test rax, rax
je 0x406aa0
lea rdx, str.Tcl_ConditionWait
mov rcx, rbx
call rsi
mov qword [0x0042e3a8], rax
test rax, rax
je 0x406b48
lea rdx, str.Tcl_ThreadQueueEvent
mov rcx, rbx
call rsi
mov qword [0x0042e3a0], rax
test rax, rax
je 0x406b30
lea rdx, str.Tcl_ThreadAlert
mov rcx, rbx
call rsi
mov qword [0x0042e398], rax
test rax, rax
je 0x406b18
lea rdx, str.Tcl_GetVar2
mov rcx, rbx
call rsi
mov qword [0x0042e390], rax
test rax, rax
je 0x406b00
lea rdx, str.Tcl_SetVar2
mov rcx, rbx
call rsi
mov qword [0x0042e388], rax
test rax, rax
je 0x406b60
lea rdx, str.Tcl_CreateObjCommand
mov rcx, rbx
call rsi
mov qword [0x0042e380], rax
test rax, rax
je 0x406b78
lea rdx, str.Tcl_GetString
mov rcx, rbx
call rsi
mov qword [0x0042e378], rax
test rax, rax
je 0x406ba8
lea rdx, str.Tcl_NewStringObj
mov rcx, rbx
call rsi
mov qword [0x0042e370], rax
test rax, rax
je 0x406b90
lea rdx, str.Tcl_NewByteArrayObj
mov rcx, rbx
call rsi
mov qword [0x0042e368], rax
test rax, rax
je 0x406bf0
lea rdx, str.Tcl_SetVar2Ex
mov rcx, rbx
call rsi
mov qword [0x0042e360], rax
test rax, rax
je 0x406bd8
lea rdx, str.Tcl_GetObjResult
mov rcx, rbx
call rsi
mov qword [0x0042e358], rax
test rax, rax
je 0x406bc0
lea rdx, str.Tcl_EvalFile
mov rcx, rbx
call rsi
mov qword [0x0042e350], rax
test rax, rax
je 0x406c08
lea rdx, str.Tcl_EvalEx
mov rcx, rbx
call rsi
mov qword [0x0042e348], rax
test rax, rax
je 0x406c68
lea rdx, str.Tcl_EvalObjv
mov rcx, rbx
call rsi
mov qword [0x0042e340], rax
test rax, rax
je 0x406c50
lea rdx, str.Tcl_Alloc
mov rcx, rbx
call rsi
mov qword [0x0042e338], rax
test rax, rax
je 0x406c38
lea rdx, str.Tcl_Free
mov rcx, rbx
call rsi
mov qword [0x0042e330], rax
test rax, rax
je 0x406c20
lea rdx, str.Tk_Init
mov rcx, rdi
call rsi
mov qword [0x0042e328], rax
test rax, rax
je 0x406c80
lea rdx, str.Tk_GetNumMainWindows
mov rcx, rdi
call rsi
mov qword [0x0042e320], rax
test rax, rax
je 0x406c98
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
lea rdx, str.Failed_to_get_address_for_Tcl_Init_n
lea rcx, str.GetProcAddress
call fcn.00402c30
nop word [rax + rax]
mov eax, 0xffffffff
jmp 0x4069c7
lea rdx, str.Failed_to_get_address_for_Tcl_FindExecutable_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_CreateInterp_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_Finalize_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_DoOneEvent_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_CreateThread_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_DeleteInterp_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_FinalizeThread_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_GetCurrentThread_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_ConditionNotify_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_ConditionFinalize_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_MutexUnlock_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_MutexLock_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_GetVar2_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_ThreadAlert_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_ThreadQueueEvent_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_ConditionWait_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_SetVar2_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_CreateObjCommand_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_NewStringObj_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_GetString_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_GetObjResult_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_SetVar2Ex_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_NewByteArrayObj_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_EvalFile_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_Free_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_Alloc_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_EvalObjv_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tcl_EvalEx_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tk_Init_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8
lea rdx, str.Failed_to_get_address_for_Tk_GetNumMainWindows_n
lea rcx, str.GetProcAddress
call fcn.00402c30
jmp 0x4069e8