Function at 0x4d9130
Capabilities:
Query environment variable

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
movabs rdi, 0x49726f7272653a3a
call fcn.0051b780
mov ecx, 0x4c0
call fcn.004df170
mov rbx, rax
lea rax, [rax + 0x1d0]
mov qword [rbx + 8], 0
mov dword [rbx + 0x10], 0
mov qword [rbx], rax
call fcn.00550ef0
mov qword [rbx + 0x2a0], rax
add dword [rax], 1
mov rcx, rbx
call fcn.0055d7e0
mov ecx, 0x58
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x30], 0
mov qword [rbx + 0x38], 0
mov dword [rbx + 0x98], 0
mov dword [rbx + 0x9c], 0x3e8
mov qword [rbx + 0xa0], 0
mov qword [rbx + 0xa8], 0
mov qword [rbx + 0x3a8], 0
call fcn.004df170
mov ecx, 0x58
mov qword [rbx + 0x3c0], rax
call fcn.004df170
mov ecx, 0x58
mov qword [rbx + 0x3c8], rax
call fcn.004df170
mov ecx, 0x58
mov qword [rbx + 0x3d8], rax
call fcn.004df170
mov rcx, qword [rbx + 0x3c0]
mov qword [rbx + 0x3d0], rax
mov edx, 1
call fcn.0052c310
mov rcx, qword [rbx + 0x3c8]
mov edx, 1
call fcn.0052c310
mov rcx, qword [rbx + 0x3d8]
mov edx, 1
call fcn.0052c310
mov rcx, qword [rbx + 0x3d0]
mov edx, 1
call fcn.0052c310
mov qword [rbx + 0x3e0], 0
mov qword [rbx + 0xb0], 0
mov qword [rbx + 0x2c8], 0
mov qword [rbx + 0x2d0], 0
call fcn.0056cc10
mov ecx, 0xc
mov rsi, rax
mov qword [rbx + 0x2d8], rax
mov dword [rax], 0
call fcn.004df170
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x2d8]
mov ecx, 0x666e
mov rax, qword [rax + 8]
mov qword [rax], rdi
mov word [rax + 8], cx
movabs rdi, 0x43726f7272653a3a
mov byte [rax + 0xa], 0x6f
mov rax, qword [rbx + 0x2d8]
mov rax, qword [rax + 8]
mov byte [rax + 0xb], 0
mov rax, qword [rbx + 0x2d8]
add dword [rax], 1
mov dword [rax + 0x10], 0xb
mov qword [rax + 0x18], 0
mov qword [rbx + 0x2e0], 0
call fcn.0056cc10
mov ecx, 0xc
mov rsi, rax
mov qword [rbx + 0x2e8], rax
mov dword [rax], 0
call fcn.004df170
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x2e8]
mov r8d, 0x646f
lea rcx, [rbx + 0xe0]
xor edx, edx
mov rax, qword [rax + 8]
mov word [rax + 8], r8w
mov qword [rax], rdi
mov byte [rax + 0xa], 0x65
mov rax, qword [rbx + 0x2e8]
mov rax, qword [rax + 8]
mov byte [rax + 0xb], 0
mov rax, qword [rbx + 0x2e8]
add dword [rax], 1
mov dword [rax + 0x10], 0xb
mov qword [rax + 0x18], 0
mov dword [rbx + 0x2f0], 1
mov dword [rbx + 0xb8], 0
mov qword [rbx + 0xc0], 0
mov qword [rbx + 0xc8], 0
mov qword [rbx + 0xd0], 0
mov dword [rbx + 0xd8], 0
mov dword [rbx + 0xdc], 0
call fcn.0052c310
lea rcx, str.TCL_PKG_PREFER_LATEST
mov qword [rbx + 0x138], 0
call sub.msvcrt.dll_getenv
test rax, rax
lea rcx, [rbx + 0x150]
mov dword [rbx + 0x140], 0
sete al
movzx eax, al
mov dword [rbx + 0x3e8], eax
call fcn.00543ee0
mov dword [rbx + 0x188], 0
mov qword [rbx + 0x190], 0
mov qword [rbx + 0x198], 0
mov dword [rbx + 0x144], 0
mov qword [rbx + 0x1a0], 0
mov dword [rbx + 0x1a8], 0
mov qword [rbx + 0x1b0], 0
mov dword [rbx + 0x2c0], 0
mov qword [rbx + 0x2b0], 0
mov qword [rbx + 0x2b8], 0
mov qword [rbx + 0x1b8], 0
mov qword [rbx + 0x1c0], 0
call fcn.00550ef0
mov qword [rbx + 0x1c8], rax
add dword [rax], 1
mov byte [rbx + 0x1d0], 0
call fcn.00590d10
lea rcx, str.TCL_INTERP_DEBUG_FRAME
mov qword [rbx + 0x2a8], rax
call sub.msvcrt.dll_getenv
test rax, rax
je 0x4d94bb
or dword [rbx + 0x1a8], 0x10
lea rcx, [rbx + 0x3f0]
mov edx, 1
call fcn.0052c310
lea rcx, [rbx + 0x448]
mov edx, 1
call fcn.0052c310
lea rdx, [0x0064edc3]
xor r9d, r9d
xor r8d, r8d
mov qword [rbx + 0x28], 0
mov rcx, rbx
call fcn.0054a9b0
test rax, rax
mov qword [rbx + 0x28], rax
je 0x4d9acd
mov ecx, 0x60
call fcn.004df170
mov r8, qword [rbx + 0x28]
xor r9d, r9d
mov rdx, rax
mov rcx, rbx
mov rsi, rax
call fcn.00549f70
test eax, eax
jne 0x4d9a90
mov dword [rsi + 0xc], 0
mov rcx, rbx
mov qword [rbx + 0xa0], rsi
mov qword [rbx + 0xa8], rsi
mov qword [rbx + 0xc0], rsi
lea rbp, [rsp + 0x40]
call fcn.0051c460
mov qword [rbx + 0x1c0], rax
mov rax, qword [0x00670bc0]
mov rcx, rbx
mov qword [rbx + 0x3a0], 0
mov qword [rbx + 0x390], 0
lea rsi, [0x0064fd40]
mov dword [rbx + 0x398], 0
mov dword [rbx + 0x39c], 0
mov qword [rbx + 0x18], rax
call fcn.005318e0
call fcn.005912f0
mov qword [rbx + 0x4a8], 0
mov qword [rbx + 0x4a0], rax
call fcn.0059cbb0
lea rcx, [rbx + 0x4b8]
mov qword [rbx + 0x4b0], rax
call fcn.00581500
jmp 0x4d95e1
add rsi, 0x20
cmp qword [rsi], 0
je 0x4d9691
cmp qword [rsi + 8], 0
je 0x4d9a30
mov rax, qword [rbx + 0x28]
mov rdx, qword [rsi]
mov r8, rbp
lea rcx, [rax + 0xa0]
call qword [rax + 0xe8]
mov edx, dword [rsp + 0x40]
mov rdi, rax
test edx, edx
je 0x4d95d3
mov ecx, 0x68
add rsi, 0x20
call fcn.004df170
mov rdx, qword [rbx + 0x28]
mov qword [rax], rdi
lea rcx, [0x004d6440]
mov dword [rax + 0x10], 1
mov dword [rax + 0x14], 0
mov qword [rax + 8], rdx
mov rdx, qword [rsi - 0x10]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rax
mov qword [rax + 0x18], rdx
mov rdx, qword [rsi - 0x18]
mov qword [rax + 0x28], 0
mov qword [rax + 0x40], 0
mov qword [rax + 0x48], 0
mov qword [rax + 0x58], 0
mov qword [rax + 0x20], rdx
mov qword [rax + 0x60], 0
mov dword [rax + 0x50], 0
mov qword [rdi + 0x18], rax
cmp qword [rsi], 0
jne 0x4d95e1
mov rcx, rbx
call fcn.0053cd90
mov rcx, rbx
call fcn.005164f0
mov rcx, rbx
call fcn.004e60b0
mov rcx, rbx
call fcn.004ee290
mov rcx, rbx
call fcn.004e11f0
lea r8, [0x0051ab50]
lea rdx, str.::tcl::Bgerror
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], 0
call fcn.004d8ee0
lea r8, [0x005602b0]
lea rdx, str.::tcl::unsupported::disassemble
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], 0
call fcn.004d8ee0
lea rdx, str.::tcl::mathfunc
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.0054a9b0
test rax, rax
mov rdi, rax
je 0x4d9abc
movabs rax, 0x6d3a3a6c63743a3a
lea rdx, [0x0064eeab]
lea rsi, [0x0064f880]
mov qword [rsp + 0x40], rax
movabs rax, 0x3a636e7566687461
lea r12, [rbp + 0x11]
mov qword [rsp + 0x48], rax
mov eax, 0x3a
mov word [rsp + 0x50], ax
nop dword [rax + rax]
mov rcx, r12
add rsi, 0x18
call sub.msvcrt.dll_strcpy
mov qword [rsp + 0x20], 0
mov r9, qword [rsi - 8]
mov rdx, rbp
mov r8, qword [rsi - 0x10]
mov rcx, rbx
call fcn.004d8ee0
mov r8, qword [rsi - 0x18]
xor r9d, r9d
mov rdx, rdi
mov rcx, rbx
call fcn.0054ad30
mov rdx, qword [rsi]
test rdx, rdx
jne 0x4d9760
lea rdx, str.::tcl::mathop
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.0054a9b0
test rax, rax
je 0x4d9aa1
lea r8, [0x0064f128]
mov r9d, 1
mov rdx, rax
mov rcx, rbx
lea rsi, [0x0064f400]
lea r12, [rbp + 0xf]
call fcn.0054ad30
movabs rax, 0x6d3a3a6c63743a3a
mov qword [rsp + 0x40], rax
movabs rax, 0x3a3a706f687461
mov qword [rsp + 0x48], rax
mov ecx, 0x18
call fcn.004df170
mov rdx, qword [rsi]
mov rdi, rax
mov rcx, r12
mov qword [rax], rdx
mov eax, dword [rsi + 0x18]
mov dword [rdi + 0x10], eax
mov rax, qword [rsi + 0x20]
mov qword [rdi + 8], rax
call sub.msvcrt.dll_strcpy
lea rax, [0x004d62c0]
mov r9, rdi
mov rdx, rbp
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, qword [rsi + 8]
call fcn.004d8ee0
test rax, rax
je 0x4d9a50
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x4d985e
mov qword [rax + 0x18], rdx
add rsi, 0x28
cmp qword [rsi], 0
jne 0x4d9801
mov rcx, rbx
call fcn.0052e6f0
mov rcx, rbx
call fcn.0051a010
mov rcx, rbx
call fcn.0055c730
lea r9, str.littleEndian
lea r8, str.byteOrder
lea rdx, [0x0064f069]
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.0057a720
mov ecx, 4
call fcn.00551d30
lea r8, str.wordSize
lea rdx, [0x0064f069]
mov r9, rax
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.0057a620
mov ecx, 8
call fcn.00551d30
lea r8, str.pointerSize
lea rdx, [0x0064f069]
mov r9, rax
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.0057a620
lea r8, [0x0064f08b]
lea rdx, [0x0064f092]
mov r9d, 1
mov rcx, rbx
call fcn.0057a7c0
lea r8, [0x0064f0a1]
lea rdx, [0x0064f0a5]
mov r9d, 1
mov rcx, rbx
call fcn.0057a7c0
mov rax, qword [0x006703e0]
lea rdx, str.tcl_precision
xor r8d, r8d
mov r9d, 0x71
mov rcx, rbx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.00571910
mov rcx, rbx
call fcn.0058aef0
lea r9, [0x0064f0bf]
lea r8, [0x0064f0c1]
lea rdx, [0x0064f069]
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.0057a720
mov r9, qword [0x00670bc0]
lea r8, [0x0064f08b]
lea rdx, [0x0064f0ca]
mov rcx, rbx
call fcn.0055b4b0
lea r8, [0x004d6290]
lea rdx, str.::tcl::bitrock::waitPidOriginalCode
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], 0
call fcn.004d8ee0
lea rdx, [0x0064f0a1]
mov r8d, 1
mov rcx, rbx
call fcn.0056bcb0
mov rcx, rbx
call fcn.0056e4c0
test eax, eax
jne 0x4d9a64
lea r8, [0x0069fba0]
lea rdx, str.::bitrock_cmd_exec_path
mov r9d, 4
mov rcx, rbx
call fcn.00543b20
test eax, eax
je 0x4d9a1d
lea rcx, str.cant_create_cmd_location
call fcn.00552d60
mov rax, rbx
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp qword [rsi + 0x10], 0
jne 0x4d95ec
lea rcx, str.builtin_command_with_NULL_object_command_proc_and_a_NULL_compile_proc
call fcn.00552d60
jmp 0x4d95ec
mov rdx, qword [rsi]
lea rcx, str.failed_to_create_math_operator__s
call fcn.00552d60
jmp 0x4d985e
mov rcx, rbx
call fcn.00561840
mov rcx, rax
call fcn.00551200
lea rcx, [0x0064f0f4]
mov rdx, rax
call fcn.00552d60
jmp 0x4d99f1
lea rcx, str.Tcl_CreateInterp:_failed_to_push_the_root_stack_frame
call fcn.00552d60
jmp 0x4d952e
lea rcx, str.cant_create_math_operator_namespace
mov qword [rsp + 0x38], rax
call fcn.00552d60
mov rax, qword [rsp + 0x38]
jmp 0x4d97c0
lea rcx, str.Cant_create_math_function_namespace
call fcn.00552d60
jmp 0x4d971e
lea rcx, str.Tcl_CreateInterp:_cant_create_global_namespace
call fcn.00552d60
jmp 0x4d9507