Function at 0x1e0312ad
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x164
push ebx
mov ebx, dword [sym.imp.MSVCR90.dll___iob_func]
push esi
xor esi, esi
push edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
call ebx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x24], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [0x1e1f9304], esi
mov dword [0x1e1f9300], edi
call sym.python31.dll_PySys_ResetWarnOptions
push str.bBc:dEhiJm:OsStuvVW:xX_
push edi
push esi
call sym.python31.dll__PyOS_GetOpt
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1e059649
cmp dword [esp + 0x34], 0
jne 0x1e05981e
cmp dword [esp + 0x1c], 0
jne 0x1e05982e
cmp dword [sym.python31.dll_Py_InspectFlag], 0
mov esi, dword [sym.imp.MSVCR90.dll_getenv]
jne 0x1e031357
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], 0
jne 0x1e031357
push str.PYTHONINSPECT
call esi
pop ecx
test eax, eax
jne 0x1e05984e
cmp dword [esp + 0x3c], 0
jne 0x1e031377
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], 0
jne 0x1e031377
push str.PYTHONUNBUFFERED
call esi
pop ecx
test eax, eax
jne 0x1e059866
cmp dword [sym.python31.dll_Py_NoUserSiteDirectory], 0
jne 0x1e031399
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], 0
jne 0x1e031399
push str.PYTHONNOUSERSITE
call esi
pop ecx
test eax, eax
jne 0x1e05987e
cmp dword [esp + 0x14], 0
jne 0x1e0313ef
cmp dword [esp + 0x18], 0
jne 0x1e0313ef
mov eax, dword [sym.python31.dll__PyOS_optind]
cmp eax, dword [ebp + 8]
jge 0x1e0313ef
mov eax, dword [edi + eax*4]
mov edx, 0x1e0e88a8
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1e059896
test si, si
je 0x1e0313e5
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1e059896
add ecx, 4
add edx, 4
test si, si
jne 0x1e0313bb
xor ecx, ecx
test ecx, ecx
je 0x1e0313ef
mov dword [esp + 0x10], eax
xor esi, esi
push esi
call ebx
push eax
call sym.python31.dll_Py_FdIsInteractive
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
cmp dword [sym.python31.dll_Py_UnbufferedStdioFlag], esi
jne 0x1e0598a0
cmp dword [sym.python31.dll_Py_InteractiveFlag], esi
jne 0x1e059909
push dword [edi]
call sym.python31.dll_Py_SetProgramName
add esp, 4
call sym.python31.dll_Py_Initialize
cmp dword [sym.python31.dll_Py_VerboseFlag], 0
mov esi, dword [sym.imp.MSVCR90.dll_fprintf]
jne 0x1e059939
xor eax, eax
cmp dword [esp + 0x14], eax
jne 0x1e059981
cmp dword [esp + 0x10], eax
je 0x1e059925
cmp dword [esp + 0x18], 0
jne 0x1e059998
mov eax, dword [sym.python31.dll__PyOS_optind]
lea ecx, [edi + eax*4]
push ecx
mov ecx, dword [ebp + 8]
sub ecx, eax
push ecx
call sym.python31.dll_PySys_SetArgv
xor esi, esi
pop ecx
pop ecx
cmp dword [sym.python31.dll_Py_InspectFlag], esi
jne 0x1e0599b9
cmp dword [esp + 0x14], esi
jne 0x1e0599ff
cmp dword [esp + 0x10], esi
je 0x1e0599af
cmp dword [esp + 0x18], esi
jne 0x1e059a6d
cmp dword [esp + 0x10], esi
je 0x1e059b18
push dword [esp + 0x10]
call fcn.1e031b57
pop ecx
cmp eax, 0xffffffff
jne 0x1e059a7a
push 0x1e0e8914
push dword [esp + 0x14]
call dword [sym.imp.MSVCR90.dll__wfopen]
pop ecx
pop ecx
test eax, eax
je 0x1e059b38
mov dword [esp + 0x20], eax
cmp dword [esp + 0x38], esi
jne 0x1e059bbf
push dword [esp + 0x20]
call dword [sym.imp.MSVCR90.dll__fileno]
pop ecx
lea ecx, [esp + 0x40]
push ecx
push eax
call dword [sym.imp.MSVCR90.dll__fstat64i32]
pop ecx
pop ecx
test eax, eax
jne 0x1e031511
mov eax, dword [esp + 0x46]
and eax, 0xf000
cmp ax, 0x4000
je 0x1e059bec
cmp dword [esp + 0x10], 0
je 0x1e059c22
mov eax, dword [esp + 0x10]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1e031523
sub eax, edx
sar eax, 1
push eax
push dword [esp + 0x14]
call sym.python31.dll_PyUnicodeUCS2_FromWideChar
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x1e059c18
push edi
call sym.python31.dll__PyUnicode_AsString
pop ecx
xor ecx, ecx
inc ecx
lea edx, [esp + 0x24]
push edx
push ecx
push eax
push dword [esp + 0x2c]
call sym.python31.dll_PyRun_AnyFileExFlags
add esp, 0x10
mov esi, eax
neg esi
sbb esi, esi
neg esi
test edi, edi
jne 0x1e059a5b
jmp 0x1e059a7c
cmp eax, 0x63
je 0x1e05978a
cmp eax, 0x6d
je 0x1e05980a
cmp eax, 0x64
jg 0x1e05970a
je 0x1e0596ff
cmp eax, 0x53
jg 0x1e0596c5
je 0x1e0596ba
cmp eax, 0x3f
je 0x1e059781
cmp eax, 0x42
je 0x1e0596af
cmp eax, 0x45
je 0x1e0596a4
cmp eax, 0x4f
jne 0x1e059818
inc dword [sym.python31.dll_Py_OptimizeFlag]
jmp 0x1e031301
inc dword [sym.python31.dll_Py_IgnoreEnvironmentFlag]
jmp 0x1e031301
inc dword [sym.python31.dll_Py_DontWriteBytecodeFlag]
jmp 0x1e031301
inc dword [sym.python31.dll_Py_NoSiteFlag]
jmp 0x1e031301
sub eax, 0x56
je 0x1e0596f6
dec eax
je 0x1e0596e5
sub eax, 0xb
jne 0x1e059818
inc dword [sym.python31.dll_Py_BytesWarningFlag]
jmp 0x1e031301
push dword [sym.python31.dll__PyOS_optarg]
call sym.python31.dll_PySys_AddWarnOption
pop ecx
jmp 0x1e031301
inc dword [esp + 0x1c]
jmp 0x1e031301
inc dword [sym.python31.dll_Py_DebugFlag]
jmp 0x1e031301
sub eax, 0x68
je 0x1e059781
dec eax
je 0x1e059770
sub eax, 0xa
je 0x1e059765
dec eax
je 0x1e031301
dec eax
je 0x1e059754
dec eax
je 0x1e059749
dec eax
dec eax
jne 0x1e059818
mov dword [esp + 0x38], 1
jmp 0x1e031301
inc dword [sym.python31.dll_Py_VerboseFlag]
jmp 0x1e031301
xor eax, eax
inc eax
mov dword [sym.python31.dll_Py_UnbufferedStdioFlag], eax
mov dword [esp + 0x3c], eax
jmp 0x1e031301
inc dword [sym.python31.dll_Py_NoUserSiteDirectory]
jmp 0x1e031301
inc dword [sym.python31.dll_Py_InspectFlag]
inc dword [sym.python31.dll_Py_InteractiveFlag]
jmp 0x1e031301
inc dword [esp + 0x34]
jmp 0x1e031301
mov eax, dword [sym.python31.dll__PyOS_optarg]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1e059792
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [esi + esi + 4]
push eax
mov dword [esp + 0x34], eax
call dword [sym.imp.MSVCR90.dll_malloc]
pop ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1e0597c5
push str.not_enough_memory_to_copy__c_argument
call sym.python31.dll_Py_FatalError
pop ecx
mov eax, dword [sym.python31.dll__PyOS_optarg]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x2c]
movzx eax, word [eax]
mov edx, dword [esp + 0x28]
add dword [esp + 0x2c], 2
add dword [esp + 0x28], 2
mov word [edx], ax
test ax, ax
jne 0x1e0597d6
mov edx, dword [esp + 0x30]
push 0xa
pop eax
mov word [ecx + esi*2], ax
xor eax, eax
mov word [edx + ecx - 2], ax
jmp 0x1e031319
mov eax, dword [sym.python31.dll__PyOS_optarg]
mov dword [esp + 0x18], eax
jmp 0x1e031319
push dword [edi]
push 2
jmp 0x1e059822
push dword [edi]
push 0
call fcn.1e065f94
pop ecx
pop ecx
jmp 0x1e059b11
push str.3.1.1
push str.Python__s_n
call ebx
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
xor eax, eax
jmp 0x1e059b11
cmp byte [eax], 0
je 0x1e031357
mov dword [sym.python31.dll_Py_InspectFlag], 1
jmp 0x1e031357
cmp byte [eax], 0
je 0x1e031377
mov dword [sym.python31.dll_Py_UnbufferedStdioFlag], 1
jmp 0x1e031377
cmp byte [eax], 0
je 0x1e031399
mov dword [sym.python31.dll_Py_NoUserSiteDirectory], 1
jmp 0x1e031399
sbb ecx, ecx
sbb ecx, 0xffffffff
jmp 0x1e0313e7
push 0x8000
call ebx
mov esi, dword [sym.imp.MSVCR90.dll__fileno]
push eax
call esi
mov edi, dword [sym.imp.MSVCR90.dll__setmode]
pop ecx
push eax
call edi
pop ecx
pop ecx
push 0x8000
call ebx
add eax, 0x20
push eax
call esi
pop ecx
push eax
call edi
pop ecx
pop ecx
mov edi, 0x200
push edi
push 4
push 0
call ebx
mov esi, dword [sym.imp.MSVCR90.dll_setvbuf]
push eax
call esi
add esp, 0x10
push edi
push 4
push 0
call ebx
add eax, 0x20
push eax
call esi
add esp, 0x10
push edi
push 4
push 0
call ebx
add eax, 0x40
push eax
call esi
mov edi, dword [ebp + 0xc]
jmp 0x1e05991d
push 0x200
push 4
push esi
call ebx
add eax, 0x20
push eax
call dword [sym.imp.MSVCR90.dll_setvbuf]
add esp, 0x10
jmp 0x1e031418
cmp dword [esp + 0x18], eax
jne 0x1e059998
cmp dword [esp + 0x1c], eax
je 0x1e03145b
push str.win32
call sym.python31.dll_Py_GetVersion
push eax
push str.Python__s_on__s_n
call ebx
add eax, 0x40
push eax
call esi
add esp, 0x10
cmp dword [sym.python31.dll_Py_NoSiteFlag], 0
jne 0x1e059976
push str.Type__help____copyright____credits__or__license__for_more_information.
push 0x1e0e8908
call ebx
add eax, 0x40
push eax
call esi
add esp, 0xc
cmp dword [esp + 0x14], 0
je 0x1e031450
dec dword [sym.python31.dll__PyOS_optind]
mov eax, dword [sym.python31.dll__PyOS_optind]
mov dword [edi + eax*4], 0x1e0e890c
jmp 0x1e031450
dec dword [sym.python31.dll__PyOS_optind]
mov eax, dword [sym.python31.dll__PyOS_optind]
mov dword [edi + eax*4], 0x1e0e890c
jmp 0x1e03145b
cmp dword [esp + 0x18], esi
jne 0x1e059a6d
call ebx
push eax
call dword [sym.imp.MSVCR90.dll__fileno]
pop ecx
push eax
call dword [sym.imp.MSVCR90.dll__isatty]
pop ecx
test eax, eax
je 0x1e0599f5
push str.readline
call sym.python31.dll_PyImport_ImportModule
pop ecx
cmp eax, esi
jne 0x1e0599e9
call sym.python31.dll_PyErr_Clear
jmp 0x1e0599f5
dec dword [eax]
jne 0x1e0599f5
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
cmp dword [esp + 0x14], esi
je 0x1e031493
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, si
jne 0x1e059a06
sub eax, edx
sar eax, 1
push eax
push dword [esp + 0x18]
call sym.python31.dll_PyUnicodeUCS2_FromWideChar
push dword [esp + 0x1c]
mov edi, eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 0xc
cmp edi, esi
je 0x1e059a53
lea eax, [esp + 0x24]
push eax
push edi
call sym.python31.dll__PyUnicode_AsString
pop ecx
push eax
call sym.python31.dll_PyRun_SimpleStringFlags
mov esi, eax
neg esi
pop ecx
sbb esi, esi
pop ecx
neg esi
jmp 0x1e059a5b
call sym.python31.dll_PyErr_Print
xor esi, esi
inc esi
dec dword [edi]
jne 0x1e059a7c
mov eax, dword [edi + 4]
push edi
call dword [eax + 0x18]
pop ecx
jmp 0x1e059a7c
push 1
push dword [esp + 0x1c]
call fcn.1e0ca519
pop ecx
pop ecx
mov esi, eax
xor edi, edi
cmp dword [sym.python31.dll_Py_InspectFlag], edi
jne 0x1e059ac1
cmp dword [sym.python31.dll_Py_IgnoreEnvironmentFlag], edi
jne 0x1e059b05
push str.PYTHONINSPECT
call dword [sym.imp.MSVCR90.dll_getenv]
pop ecx
cmp eax, edi
je 0x1e059ab5
cmp byte [eax], 0
je 0x1e059ab5
mov dword [sym.python31.dll_Py_InspectFlag], 1
cmp dword [sym.python31.dll_Py_InspectFlag], edi
je 0x1e059b05
cmp dword [esp + 0x1c], edi
je 0x1e059b05
cmp dword [esp + 0x10], edi
jne 0x1e059ae1
cmp dword [esp + 0x14], edi
jne 0x1e059ae1
cmp dword [esp + 0x18], edi
je 0x1e059b05
lea eax, [esp + 0x24]
push eax
push edi
push str._stdin_
mov dword [sym.python31.dll_Py_InspectFlag], edi
call ebx
push eax
call sym.python31.dll_PyRun_AnyFileExFlags
add esp, 0x10
mov esi, eax
neg esi
sbb esi, esi
neg esi
call fcn.1e0900f4
call sym.python31.dll_Py_Finalize
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x1c], esi
je 0x1e031511
lea eax, [esp + 0x24]
push eax
mov dword [sym.python31.dll_Py_InspectFlag], esi
call fcn.1e0c68ed
pop ecx
jmp 0x1e031511
mov esi, 0x100
push esi
push dword [esp + 0x14]
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.MSVCR90.dll_wcstombs]
add esp, 0xc
cmp eax, esi
jne 0x1e059b66
push 5
pop ecx
mov esi, str._file_name_too_long_
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x1e059b7c
push 6
pop ecx
mov esi, str._unprintable_file_name_
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.MSVCR90.dll__errno]
call esi
mov dword [esp + 0x30], eax
call esi
mov esi, eax
mov eax, dword [esp + 0x30]
push dword [eax]
call dword [sym.imp.MSVCR90.dll_strerror]
pop ecx
push eax
push dword [esi]
lea eax, [esp + 0x78]
push eax
push dword [edi]
push str._ls:_cant_open_file__s:__Errno__d___s_n
call ebx
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x18
push 2
pop eax
jmp 0x1e059b11
mov esi, dword [sym.imp.MSVCR90.dll_getc]
push dword [esp + 0x20]
call esi
pop ecx
cmp eax, 0xffffffff
je 0x1e0314e1
cmp eax, 0xa
jne 0x1e059bc5
push dword [esp + 0x20]
push eax
call dword [sym.imp.MSVCR90.dll_ungetc]
pop ecx
pop ecx
jmp 0x1e0314e1
push dword [esp + 0x10]
push dword [edi]
push str._ls:__ls_is_a_directory__cannot_continue_n
call ebx
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
push dword [esp + 0x30]
call dword [sym.imp.MSVCR90.dll_fclose]
xor eax, eax
add esp, 0x14
inc eax
jmp 0x1e059b11
mov eax, str._decoding_error_
jmp 0x1e03154e
xor edi, edi
mov eax, str._stdin_
xor ecx, ecx
jmp 0x1e031551