Function at 0x43d690
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
call fcn.00466b70
push 0x31c
call fcn.0044ffd0
mov ebp, eax
xor ebx, ebx
lea esi, [ebp + 0x118]
mov dword [ebp], esi
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
call fcn.0044c570
mov dword [ebp + 0x1e4], eax
mov edi, dword [eax]
inc edi
push ebp
mov dword [eax], edi
call fcn.0047e1d0
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], 0x3e8
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x64], ebx
push 0x38
mov dword [ebp + 0x284], ebx
call fcn.0044ffd0
push 0x38
mov dword [ebp + 0x290], eax
call fcn.0044ffd0
mov dword [ebp + 0x294], eax
mov eax, dword [ebp + 0x290]
push 1
push eax
call fcn.00476970
mov ecx, dword [ebp + 0x294]
push 1
push ecx
call fcn.00476970
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x1f8], ebx
push 0x54330c
mov dword [ebp + 0x1fc], ebx
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 0x24
cmp eax, ebx
jne 0x43d751
call fcn.0044c5e0
mov edx, dword [0x542664]
push 0x54330c
mov dword [ebp + 0x200], edx
mov eax, dword [0x542664]
mov ecx, dword [eax + 0x10]
mov dword [0x542664], ecx
call fcn.0047c8f0
mov edx, dword [ebp + 0x200]
push 0xc
mov dword [edx], ebx
call fcn.0044ffd0
mov ecx, dword [ebp + 0x200]
mov edi, 0xb
push 0x54330c
mov dword [ecx + 4], eax
mov edx, dword [ebp + 0x200]
mov ecx, dword [str.::errorInfo]
mov eax, dword [edx + 4]
mov dword [eax], ecx
mov edx, dword [0x52a320]
mov dword [eax + 4], edx
mov cx, word [0x52a324]
mov word [eax + 8], cx
mov dl, byte [0x52a326]
mov byte [eax + 0xa], dl
mov eax, dword [ebp + 0x200]
mov ecx, dword [eax + 4]
mov byte [ecx + 0xb], bl
mov edx, dword [ebp + 0x200]
mov dword [edx + 8], edi
mov eax, dword [ebp + 0x200]
mov dword [eax + 0xc], ebx
mov eax, dword [ebp + 0x200]
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov dword [ebp + 0x204], ebx
call fcn.0047c8a0
mov eax, dword [0x542664]
add esp, 0xc
cmp eax, ebx
jne 0x43d80a
call fcn.0044c5e0
mov ecx, dword [0x542664]
push 0x54330c
mov dword [ebp + 0x208], ecx
mov edx, dword [0x542664]
mov eax, dword [edx + 0x10]
mov dword [0x542664], eax
call fcn.0047c8f0
mov ecx, dword [ebp + 0x208]
push 0xc
mov dword [ecx], ebx
call fcn.0044ffd0
mov edx, dword [ebp + 0x208]
push ebx
mov dword [edx + 4], eax
mov eax, dword [ebp + 0x208]
mov edx, dword [str.::errorCode]
mov ecx, dword [eax + 4]
mov dword [ecx], edx
mov eax, dword [0x52a314]
mov dword [ecx + 4], eax
mov dx, word [0x52a318]
mov word [ecx + 8], dx
mov al, byte [0x52a31a]
mov byte [ecx + 0xa], al
mov ecx, dword [ebp + 0x208]
mov edx, dword [ecx + 4]
mov byte [edx + 0xb], bl
mov eax, dword [ebp + 0x208]
mov dword [eax + 8], edi
mov ecx, dword [ebp + 0x208]
mov edi, 1
mov dword [ecx + 0xc], ebx
mov eax, dword [ebp + 0x208]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
lea edx, [ebp + 0x84]
mov dword [ebp + 0x20c], edi
push edx
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x70], ebx
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x78], ebx
mov dword [ebp + 0x7c], ebx
mov dword [ebp + 0x80], ebx
call fcn.00476970
push str.TCL_PKG_PREFER_LATEST
mov dword [ebp + 0xbc], ebx
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 0x14
test eax, eax
jne 0x43d8e8
mov dword [ebp + 0x298], edi
jmp 0x43d8ee
mov dword [ebp + 0x298], ebx
lea eax, [ebp + 0xcc]
mov dword [ebp + 0xc0], ebx
push eax
call fcn.004b6d70
mov dword [ebp + 0xf0], ebx
mov dword [ebp + 0xf4], ebx
mov dword [ebp + 0xf8], ebx
mov dword [ebp + 0xc4], ebx
mov dword [ebp + 0xfc], ebx
mov dword [ebp + 0x100], ebx
mov dword [ebp + 0x108], ebx
mov dword [ebp + 0x1f4], ebx
mov dword [ebp + 0x1ec], ebx
mov dword [ebp + 0x1f0], ebx
mov dword [ebp + 0x10c], ebx
mov dword [ebp + 0x110], ebx
call fcn.0044c570
mov dword [ebp + 0x114], eax
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov byte [esi], bl
call sub.KERNEL32.DLL_GetCurrentThreadId
lea ecx, [ebp + 0x29c]
push edi
push ecx
mov dword [ebp + 0x1e8], eax
call fcn.00476970
lea edx, [ebp + 0x2d4]
push edi
push edx
call fcn.00476970
push ebx
push ebx
push 0x542250
push ebp
mov dword [ebp + 0x14], ebx
call fcn.004708e0
add esp, 0x24
cmp eax, ebx
mov dword [ebp + 0x14], eax
jne 0x43d9a6
push str.Tcl_CreateInterp:_cant_create_global_namespace
call fcn.0047c670
add esp, 4
push 0x34
call fcn.0044ffd0
mov esi, eax
mov eax, dword [ebp + 0x14]
push ebx
push eax
push esi
push ebp
call fcn.00470760
add esp, 0x14
test eax, eax
je 0x43d9cf
push str.Tcl_CreateInterp:_failed_to_push_the_root_stack_frame
call fcn.0047c670
add esp, 4
mov dword [esi + 8], ebx
mov dword [ebp + 0x60], esi
push ebp
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x70], esi
call fcn.004ac2b0
push ebp
mov dword [ebp + 0x110], eax
mov dword [ebp + 0x280], ebx
mov dword [ebp + 0xc], 0x536a00
mov dword [ebp + 0x274], ebx
mov dword [ebp + 0x278], ebx
mov dword [ebp + 0x27c], ebx
call fcn.00460ed0
mov dword [ebp + 0x30c], ebx
mov dword [ebp + 0x310], ebx
call fcn.004ac290
lea ecx, [ebp + 0x318]
mov dword [ebp + 0x314], eax
push ecx
call fcn.004aba90
mov eax, dword [str.append]
add esp, 0xc
cmp eax, ebx
je 0x43dad1
mov esi, 0x51ed54
cmp dword [esi], ebx
jne 0x43da5a
cmp dword [esi + 4], ebx
jne 0x43da5a
push str.builtin_command_with_NULL_object_command_proc_and_a_NULL_compile_proc
call fcn.0047c670
add esp, 4
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi - 4]
lea edx, [esp + 0x10]
push edx
lea edx, [eax + 0x60]
push ecx
push edx
call dword [eax + 0x90]
mov edi, eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, ebx
je 0x43dac3
push 0x38
call fcn.0044ffd0
mov dword [eax], edi
mov ecx, dword [ebp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], ebx
mov edx, dword [esi + 4]
mov dword [eax + 0x10], edx
mov dword [eax + 0x1c], 0x43eb50
mov dword [eax + 0x20], eax
mov ecx, dword [esi]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ebx
add esp, 4
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
cmp eax, ebx
jne 0x43da44
push ebp
call fcn.004999c0
push ebp
call fcn.004ab9e0
push ebp
call fcn.004a03f0
push ebp
call fcn.00496ad0
push ebp
call fcn.004a58d0
push ebx
push ebx
push 0x466090
push str.::tcl::Bgerror
push ebp
call fcn.0043e920
push ebx
push ebx
push 0x479480
push str.::tcl::unsupported::disassemble
push ebp
call fcn.0043e920
push ebx
push ebx
push str.::tcl::mathfunc
push ebp
call fcn.004708e0
add esp, 0x4c
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x43db38
push str.Cant_create_math_function_namespace
call fcn.0047c670
add esp, 4
mov edx, dword [str.::tcl::mathfunc::]
mov eax, dword [0x52a1d0]
mov edi, dword [0x51f250]
mov ecx, dword [0x52a1d4]
mov dword [esp + 0x1c], edx
mov edx, dword [0x52a1d8]
mov dword [esp + 0x20], eax
mov ax, word [0x52a1dc]
mov dword [esp + 0x28], edx
mov edx, 0x51f250
cmp edi, ebx
mov dword [esp + 0x24], ecx
mov word [esp + 0x2c], ax
mov dword [esp + 0x10], edx
je 0x43dbe2
jmp 0x43db83
mov edx, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x2d]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
lea eax, [esp + 0x20]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [edx + 8]
mov edx, dword [edx + 4]
push ecx
push edx
push eax
push ebp
call fcn.0043e920
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
push ebx
mov ecx, dword [esi]
push ecx
push edx
push ebp
call fcn.00471050
mov edi, dword [esi + 0xc]
add esi, 0xc
add esp, 0x24
cmp edi, ebx
mov dword [esp + 0x10], esi
jne 0x43db7f
push ebx
push ebx
push str.::tcl::mathop
push ebp
call fcn.004708e0
mov esi, eax
add esp, 0x10
cmp esi, ebx
jne 0x43dc05
push str.cant_create_math_operator_namespace
call fcn.0047c670
add esp, 4
push 1
push 0x529e00
push esi
push ebp
call fcn.00471050
mov eax, dword [str.::tcl::mathop::]
mov ecx, dword [0x52a188]
mov edx, dword [0x52a18c]
mov dword [esp + 0x2c], eax
mov eax, dword [0x52a190]
add esp, 0x10
mov dword [esp + 0x28], eax
mov eax, dword [0x51f3b8]
cmp eax, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
je 0x43dcea
mov esi, 0x51f3c8
mov dword [esp + 0x10], esi
jmp 0x43dc58
mov esi, dword [esp + 0x10]
push 0xc
call fcn.0044ffd0
mov ecx, dword [esi - 0x10]
mov edx, eax
push 0x43de00
push edx
mov dword [edx], ecx
mov eax, dword [esi - 4]
mov dword [edx + 8], eax
mov ecx, dword [esi]
lea eax, [esp + 0x37]
mov dword [edx + 4], ecx
mov edi, dword [esi - 0x10]
mov dword [esp + 0x24], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x28]
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi - 0xc]
push ecx
push edx
push ebp
call fcn.0043e920
add esp, 0x18
cmp eax, ebx
jne 0x43dcce
mov eax, dword [esi - 0x10]
push eax
push str.failed_to_create_math_operator__s
call fcn.0047c670
add esp, 8
jmp 0x43dcd8
mov ecx, dword [esi - 8]
cmp ecx, ebx
je 0x43dcd8
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 4]
add esi, 0x14
cmp eax, ebx
mov dword [esp + 0x10], esi
jne 0x43dc54
push ebp
call fcn.0045e260
push ebp
call fcn.004a5110
push ebp
call fcn.004a50f0
push 1
push str.littleEndian
push str.byteOrder
push str.tcl_platform
push ebp
call fcn.004464d0
add esp, 0x20
push 1
push 4
call fcn.0044d2b0
add esp, 4
push eax
push str.wordSize
push str.tcl_platform
push ebp
call fcn.00446540
add esp, 0x14
push 1
push 4
call fcn.0044d2b0
add esp, 4
push eax
push str.pointerSize
push str.tcl_platform
push ebp
call fcn.00446540
push 1
push str.8.5.2
push str.tcl_patchLevel
push ebp
call fcn.004464b0
push 1
push 0x52a100
push str.tcl_version
push ebp
call fcn.004464b0
push ebx
push 0x46e790
push 0x71
push ebx
push str.tcl_precision
push ebp
call fcn.0047c480
add esp, 0x4c
push ebp
call fcn.0044aac0
push 1
push 0x52a0e0
push str.threaded
push str.tcl_platform
push ebp
call fcn.004464d0
push 0x536a00
push str.8.5.2
push 0x524d18
push ebp
call fcn.0043b7c0
push 1
push 0x52a100
push ebp
call fcn.004a4ec0
push ebp
call fcn.004a4d50
add esp, 0x38
test eax, eax
je 0x43ddef
push ebp
call fcn.0044ee30
push eax
call fcn.0044c840
push eax
call fcn.0047c670
add esp, 0xc
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret