Function at 0x1e02cc65
Capabilities:
Allocate thread local storage
Query environment variable

Disassembly:
push ebx
push ebp
xor ebx, ebx
push esi
push edi
cmp dword [0x1e200694], ebx
jne 0x1e02ce7b
mov esi, dword [sym.imp.MSVCR90.dll_getenv]
mov dword [0x1e200694], 1
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], ebx
jne 0x1e02cce7
push str.PYTHONDEBUG
call esi
pop ecx
cmp eax, ebx
jne 0x1e058e04
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], ebx
jne 0x1e02cce7
push str.PYTHONVERBOSE
call esi
pop ecx
cmp eax, ebx
jne 0x1e058e24
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], ebx
jne 0x1e02cce7
push str.PYTHONOPTIMIZE
call esi
pop ecx
cmp eax, ebx
jne 0x1e058e44
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], ebx
jne 0x1e02cce7
push str.PYTHONDONTWRITEBYTECODE
call esi
pop ecx
cmp eax, ebx
jne 0x1e058e64
call sym.python31.dll_PyInterpreterState_New
mov edi, eax
cmp edi, ebx
je 0x1e058e84
push edi
call sym.python31.dll_PyThreadState_New
mov esi, eax
pop ecx
cmp esi, ebx
je 0x1e058e94
mov dword [sym.python31.dll__PyThreadState_Current], esi
call fcn.1e026e76
call sym.python31.dll__PyFrame_Init
test eax, eax
je 0x1e058ea4
call fcn.1e032847
test eax, eax
je 0x1e058eb4
call sym.python31.dll_PyByteArray_Init
test eax, eax
je 0x1e058ec4
call sym.python31.dll__PyFloat_Init
call sym.python31.dll_PyDict_New
mov dword [edi + 8], eax
cmp eax, ebx
je 0x1e058ed4
call sym.python31.dll_PyDict_New
mov dword [edi + 0x18], eax
cmp eax, ebx
je 0x1e058ee4
call fcn.1e02fdbe
call sym.python31.dll__PyBuiltin_Init
mov ebp, eax
cmp ebp, ebx
je 0x1e058ef4
mov eax, str.builtins
push eax
push eax
push ebp
call sym.python31.dll__PyImport_FixupExtension
add esp, 0xc
push ebp
call sym.python31.dll_PyModule_GetDict
pop ecx
mov dword [edi + 0x14], eax
cmp eax, ebx
je 0x1e058f04
mov eax, dword [edi + 0x14]
inc dword [eax]
call sym.python31.dll__PyExc_Init
call sym.python31.dll__PySys_Init
mov ebp, eax
cmp ebp, ebx
je 0x1e058f14
push ebp
call sym.python31.dll_PyModule_GetDict
pop ecx
mov dword [edi + 0x10], eax
cmp eax, ebx
je 0x1e058f24
mov eax, dword [edi + 0x10]
inc dword [eax]
mov eax, 0x1e19bfa4
push eax
push eax
push ebp
call sym.python31.dll__PyImport_FixupExtension
add esp, 0xc
call sym.python31.dll_Py_GetPath
push eax
call sym.python31.dll_PySys_SetPath
pop ecx
push dword [edi + 8]
push str.modules
push dword [edi + 0x10]
call sym.python31.dll_PyDict_SetItemString
add esp, 0xc
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll__fileno]
pop ecx
push eax
call sym.python31.dll_PyFile_NewStdPrinter
mov ebp, eax
pop ecx
cmp ebp, ebx
je 0x1e058f34
push ebp
push str.stderr
call sym.python31.dll_PySys_SetObject
push ebp
push str.__stderr__
call sym.python31.dll_PySys_SetObject
add esp, 0x10
call sym.python31.dll__PyImport_Init
call sym.python31.dll__PyImportHooks_Init
cmp dword [esp + 0x14], ebx
je 0x1e02ce43
call sym.python31.dll_PyOS_InitInterrupts
call sym.python31.dll__PyWarnings_Init
call sym.python31.dll_PySys_HasWarnOptions
test eax, eax
jne 0x1e058f44
call fcn.1e02fb29
call fcn.1e02ca13
test eax, eax
jl 0x1e058f72
cmp dword [sym.python31.dll_Py_NoSiteFlag], ebx
jne 0x1e02ce74
call fcn.1e032a13
push edi
call fcn.1e034d31
pop ecx
pop edi
pop esi
pop ebp
pop ebx
ret
cmp byte [eax], bl
je 0x1e02cc9f
push eax
push dword [sym.python31.dll_Py_DebugFlag]
call fcn.1e05afb2
pop ecx
pop ecx
mov dword [sym.python31.dll_Py_DebugFlag], eax
jmp 0x1e02cc9f
cmp byte [eax], bl
je 0x1e02ccb7
push eax
push dword [sym.python31.dll_Py_VerboseFlag]
call fcn.1e05afb2
pop ecx
pop ecx
mov dword [sym.python31.dll_Py_VerboseFlag], eax
jmp 0x1e02ccb7
cmp byte [eax], bl
je 0x1e02cccf
push eax
push dword [sym.python31.dll_Py_OptimizeFlag]
call fcn.1e05afb2
pop ecx
pop ecx
mov dword [sym.python31.dll_Py_OptimizeFlag], eax
jmp 0x1e02cccf
cmp byte [eax], bl
je 0x1e02cce7
push eax
push dword [sym.python31.dll_Py_DontWriteBytecodeFlag]
call fcn.1e05afb2
pop ecx
pop ecx
mov dword [sym.python31.dll_Py_DontWriteBytecodeFlag], eax
jmp 0x1e02cce7
push str.Py_Initialize:_cant_make_first_interpreter
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02ccf6
push str.Py_Initialize:_cant_make_first_thread
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd07
push str.Py_Initialize:_cant_init_frames
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd1f
push str.Py_Initialize:_cant_init_longs
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd2c
push str.Py_Initialize:_cant_init_bytearray
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd39
push str.Py_Initialize:_cant_make_modules_dictionary
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd4e
push str.Py_Initialize:_cant_make_modules_reloading_dictionary
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd5e
push str.Py_Initialize:_cant_initialize_builtins_modules
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd72
push str.Py_Initialize:_cant_initialize_builtins_dict
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cd94
push str.Py_Initialize:_cant_initialize_sys
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cdad
push str.Py_Initialize:_cant_initialize_sys_dict
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02cdbf
push str.Py_Initialize:_cant_set_preliminary_stderr
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02ce15
push str.warnings
call sym.python31.dll_PyImport_ImportModule
pop ecx
cmp eax, ebx
jne 0x1e058f5d
call sym.python31.dll_PyErr_Clear
jmp 0x1e02ce55
dec dword [eax]
jne 0x1e02ce55
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
jmp 0x1e02ce55
push str.Py_Initialize:_cant_initialize_sys_standard_streams
call sym.python31.dll_Py_FatalError
pop ecx
jmp 0x1e02ce67