Function at 0x100017f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push dword [0x1000c72c]
mov edi, edx
mov dword [ebp - 4], ecx
call dword [sym.imp.python38.dll__PyObject_New]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10001a2e
call dword [sym.imp.tcl86t.dll_Tcl_CreateInterp]
mov ecx, dword [ebp + 0xc]
push 1
push str.threaded
push str.tcl_platform
push eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
call dword [sym.imp.tcl86t.dll_Tcl_GetVar2Ex]
add esp, 0x10
neg eax
sbb eax, eax
neg eax
mov dword [ebx + 0x10], eax
call dword [sym.imp.tcl86t.dll_Tcl_GetCurrentThread]
cmp dword [ebx + 0x10], 0
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], 0
je 0x10001878
mov eax, dword [0x1000c740]
test eax, eax
je 0x10001878
push eax
call dword [sym.imp.python38.dll_PyThread_free_lock]
add esp, 4
mov dword [0x1000c740], 0
mov esi, dword [sym.imp.tcl86t.dll_Tcl_GetObjType]
push str.boolean
call esi
push str.booleanString
mov dword [ebx + 0x1c], eax
call esi
push str.bytearray
mov dword [ebx + 0x20], eax
call esi
push str.double
mov dword [ebx + 0x24], eax
call esi
push 0x100094a8
mov dword [ebx + 0x28], eax
call esi
push str.wideInt
mov dword [ebx + 0x2c], eax
call esi
push str.bignum
mov dword [ebx + 0x30], eax
call esi
push str.list
mov dword [ebx + 0x34], eax
call esi
push str.procbody
mov dword [ebx + 0x38], eax
call esi
push str.string
mov dword [ebx + 0x3c], eax
call esi
push str.exit
push dword [ebx + 8]
mov dword [ebx + 0x40], eax
call dword [sym.imp.tcl86t.dll_Tcl_DeleteCommand]
mov eax, dword [ebp - 4]
add esp, 0x30
mov ecx, dword [sym.imp.tcl86t.dll_Tcl_SetVar2]
test eax, eax
je 0x1000191b
push 1
push eax
push str.DISPLAY
push 0x100094e8
push dword [ebx + 8]
call ecx
mov ecx, dword [sym.imp.tcl86t.dll_Tcl_SetVar2]
add esp, 0x14
cmp dword [ebp + 8], 0
mov eax, dword [ebx + 8]
push 1
je 0x1000192d
push 0x100094ec
jmp 0x10001932
push 0x10009500
push 0
push str.tcl_interactive
push eax
call ecx
mov ecx, edi
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10001944
sub ecx, edx
lea eax, [ecx + 1]
push eax
call dword [sym.imp.python38.dll_PyMem_Malloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x10001a19
mov ecx, esi
sub ecx, edi
jmp 0x10001970
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [ecx + edi - 1], al
test al, al
jne 0x10001970
movzx ecx, byte [esi]
mov eax, dword [sym.imp.python38.dll__Py_ctype_table]
test byte [eax + ecx*4], 2
je 0x10001995
mov eax, dword [sym.imp.python38.dll__Py_ctype_tolower]
mov al, byte [ecx + eax]
mov byte [esi], al
mov edi, dword [sym.imp.tcl86t.dll_Tcl_SetVar2]
push 1
push esi
push 0
push str.argv0
push dword [ebx + 8]
call edi
push esi
call dword [sym.imp.python38.dll_PyMem_Free]
add esp, 0x18
cmp dword [ebp + 0x10], 0
jne 0x100019d0
push 1
push 0x100094ec
push 0
push str._tkinter_skip_tk_init
push dword [ebx + 8]
call edi
add esp, 0x14
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
test edi, edi
jne 0x100019e2
test esi, esi
je 0x10001aec
mov edx, edi
neg edx
sbb edx, edx
and edx, 6
test esi, esi
je 0x10001a06
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100019f7
sub ecx, dword [ebp - 4]
add edx, 6
add edx, ecx
push edx
call dword [sym.imp.python38.dll_PyMem_Malloc]
mov edx, eax
add esp, 4
mov dword [ebp - 8], edx
test edx, edx
jne 0x10001a37
call dword [sym.imp.python38.dll_PyErr_NoMemory]
add dword [ebx], 0xffffffff
jne 0x10001a2e
push ebx
call dword [sym.imp.python38.dll__Py_Dealloc]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [edx], 0
test edi, edi
je 0x10001a5c
lea ecx, [edx - 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10001a41
mov eax, dword [str._sync]
mov dword [ecx], eax
mov ax, word [0x10009528]
mov word [ecx + 4], ax
test esi, esi
je 0x10001acd
test edi, edi
je 0x10001a7a
lea edi, [edx - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001a67
mov ax, word [0x1000952c]
mov word [edi], ax
lea ecx, [edx - 1]
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10001a80
mov eax, dword [str._use]
mov dword [ecx], eax
mov ax, word [0x10009534]
mov word [ecx + 4], ax
mov ecx, esi
mov dword [ebp - 4], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x10001aa0
sub esi, ecx
lea edi, [edx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10001ab0
mov ecx, esi
mov dword [ebp + 0x18], esi
mov esi, dword [ebp - 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push edx
push 0
push str.argv
push dword [ebx + 8]
call dword [sym.imp.tcl86t.dll_Tcl_SetVar2]
push dword [ebp - 8]
call dword [sym.imp.python38.dll_PyMem_Free]
add esp, 0x18
push 0
push 0
push str.TCL_LIBRARY
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov edi, dword [sym.imp.python38.dll__Py_Dealloc]
test eax, eax
jne 0x10001b66
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xcb
jne 0x10001b66
call fcn.10001120
test eax, eax
jne 0x10001b2e
call dword [sym.imp.python38.dll_PyErr_Occurred]
test eax, eax
je 0x10001b66
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.python38.dll_PyUnicode_AsUTF8String]
mov esi, eax
add esp, 4
test esi, esi
je 0x10001a2e
push 1
lea ecx, [esi + 0x10]
push ecx
push 0
push str.tcl_library
push dword [ebx + 8]
call dword [sym.imp.tcl86t.dll_Tcl_SetVar2]
add esp, 0x14
add dword [esi], 0xffffffff
jne 0x10001b66
push esi
call edi
add esp, 4
mov esi, dword [ebx + 8]
push esi
call dword [sym.imp.tcl86t.dll_Tcl_Init]
add esp, 4
cmp eax, 1
je 0x10001c03
push 1
push 0
push str._tkinter_skip_tk_init
push esi
call dword [sym.imp.tcl86t.dll_Tcl_GetVar2]
add esp, 0x10
test eax, eax
je 0x10001bc1
mov ecx, 0x100094ec
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10001bb8
test dl, dl
je 0x10001bb4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10001bb8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10001b98
xor eax, eax
jmp 0x10001bbd
sbb eax, eax
or eax, 1
test eax, eax
je 0x10001bda
push esi
call dword [sym.imp.tk86t.dll_Tk_Init]
add esp, 4
cmp eax, 1
je 0x10001c03
push esi
call dword [sym.imp.tk86t.dll_Tk_MainWindow]
add esp, 4
mov eax, dword [sym.imp.python38.dll_PyOS_InputHook]
cmp dword [eax], 0
jne 0x10001bfa
call dword [sym.imp.python38.dll_PyThreadState_Get]
mov dword [0x1000c720], eax
mov eax, dword [sym.imp.python38.dll_PyOS_InputHook]
mov dword [eax], 0x100073b0
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.10001230
add dword [ebx], 0xffffffff
mov esi, eax
jne 0x10001c17
push ebx
call edi
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret