Function at 0x402e10
Capabilities:
Link many functions at runtime

Disassembly:
push edi
push esi
push ebx
sub esp, 0x10
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [esp + 4], str.Py_DontWriteBytecodeFlag
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110dc], eax
je 0x403441
mov dword [esp + 4], str.Py_FileSystemDefaultEncoding
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110d8], eax
je 0x403457
mov dword [esp + 4], str.Py_FrozenFlag
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110d4], eax
je 0x40346d
mov dword [esp + 4], str.Py_IgnoreEnvironmentFlag
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110d0], eax
je 0x403483
mov dword [esp + 4], str.Py_NoSiteFlag
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110cc], eax
je 0x403499
mov dword [esp + 4], str.Py_NoUserSiteDirectory
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110c8], eax
je 0x4034af
mov dword [esp + 4], str.Py_OptimizeFlag
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110c4], eax
je 0x4034c5
mov dword [esp + 4], str.Py_VerboseFlag
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110c0], eax
je 0x4034db
mov dword [esp + 4], str.Py_BuildValue
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110bc], eax
je 0x4034f1
mov dword [esp + 4], str.Py_DecRef
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110b8], eax
je 0x403507
mov dword [esp + 4], str.Py_EndInterpreter
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110b4], eax
je 0x40351d
mov dword [esp + 4], str.Py_Finalize
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110b0], eax
je 0x403533
mov dword [esp + 4], str.Py_IncRef
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110ac], eax
je 0x403549
mov dword [esp + 4], str.Py_Initialize
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110a8], eax
je 0x403575
mov dword [esp + 4], str.Py_NewInterpreter
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110a4], eax
je 0x403785
cmp edi, 0x1d
jg 0x4032d0
mov dword [esp + 4], str.Py_SetProgramName
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41109c], eax
je 0x40355f
mov dword [esp + 4], str.Py_SetPythonHome
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411098], eax
je 0x4035a1
mov dword [esp + 4], str.PyDict_GetItemString
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411094], eax
je 0x40358b
mov dword [esp + 4], str.PyErr_Clear
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411090], eax
je 0x4035cd
mov dword [esp + 4], str.PyErr_Occurred
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41108c], eax
je 0x4035b7
mov dword [esp + 4], str.PyErr_Print
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411088], eax
je 0x4035f9
mov dword [esp + 4], str.PyEval_AcquireThread
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411084], eax
je 0x4035e3
mov dword [esp + 4], str.PyEval_InitThreads
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411080], eax
je 0x403625
mov dword [esp + 4], str.PyEval_ReleaseThread
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41107c], eax
je 0x40360f
mov dword [esp + 4], str.PyImport_AddModule
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411078], eax
je 0x403667
mov dword [esp + 4], str.PyImport_ExecCodeModule
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411074], eax
je 0x403651
mov dword [esp + 4], str.PyImport_ImportModule
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411070], eax
je 0x40363b
mov dword [esp + 4], str.PyList_Append
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41106c], eax
je 0x40367d
mov dword [esp + 4], str.PyList_New
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411068], eax
je 0x403693
mov dword [esp + 4], str.PyLong_AsLong
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411064], eax
je 0x4036a9
mov dword [esp + 4], str.PyModule_GetDict
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411060], eax
je 0x4036bf
mov dword [esp + 4], str.PyObject_CallFunction
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41105c], eax
je 0x4036d5
mov dword [esp + 4], str.PyObject_SetAttrString
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411058], eax
je 0x4036eb
mov dword [esp + 4], str.PyRun_SimpleString
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411054], eax
je 0x40379b
cmp edi, 0x1d
jle 0x403300
mov dword [esp + 4], str.PySys_AddWarnOption
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41104c], eax
je 0x403701
mov dword [esp + 4], str.PySys_SetArgvEx
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411048], eax
je 0x403717
mov dword [esp + 4], str.PySys_GetObject
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411044], eax
je 0x40372d
mov dword [esp + 4], str.PySys_SetObject
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411040], eax
je 0x403743
mov dword [esp + 4], str.PySys_SetPath
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41103c], eax
je 0x403759
mov dword [esp + 4], str.PyThreadState_Swap
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411038], eax
je 0x4037b1
cmp edi, 0x1d
jg 0x403350
xor eax, eax
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [esp + 4], str.Py_SetPath
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x4110a0], eax
jne 0x402fe0
mov dword [esp], str.Cannot_GetProcAddress_for_Py_SetPath_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp + 4], str.PyString_FromString
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411050], eax
je 0x40376f
mov dword [esp + 4], str.PyString_FromFormat
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x41102c], eax
jne 0x403210
mov dword [esp], str.Cannot_GetProcAddress_for_PyString_FromFormat_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp + 4], str.PyUnicode_FromString
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411034], eax
je 0x4037dd
cmp edi, 0x22
jg 0x403410
mov dword [esp + 4], str._Py_char2wchar
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411030], eax
je 0x403805
mov dword [esp + 4], str.PyUnicode_FromFormat
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411028], eax
je 0x4037c7
mov dword [esp + 4], str.PyUnicode_Decode
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411020], eax
je 0x4037f1
cmp edi, 0x1f
jle 0x4032c7
mov dword [esp + 4], str.PyUnicode_DecodeFSDefault
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411024], eax
jne 0x4032c7
mov dword [esp], str.Cannot_GetProcAddress_for_PyUnicode_DecodeFSDefault_n
call fcn.00401e10
or eax, 0xffffffff
jmp 0x4032c9
mov dword [esp + 4], str.Py_DecodeLocale
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
mov dword [0x411030], eax
jne 0x403393
mov dword [esp], str.Cannot_GetProcAddress_for_Py_DecodeLocale_n
call fcn.00401e10
or eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_DontWriteBytecodeFlag_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_FileSystemDefaultEncoding_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_FrozenFlag_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_IgnoreEnvironmentFlag_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_NoSiteFlag_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_NoUserSiteDirectory_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_OptimizeFlag_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_VerboseFlag_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_BuildValue_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_DecRef_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_EndInterpreter_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_Finalize_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_IncRef_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_SetProgramName_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_Initialize_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyDict_GetItemString_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_SetPythonHome_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyErr_Occurred_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyErr_Clear_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyEval_AcquireThread_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyErr_Print_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyEval_ReleaseThread_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyEval_InitThreads_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyImport_ImportModule_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyImport_ExecCodeModule_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyImport_AddModule_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyList_Append_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyList_New_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyLong_AsLong_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyModule_GetDict_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyObject_CallFunction_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyObject_SetAttrString_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PySys_AddWarnOption_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PySys_SetArgvEx_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PySys_GetObject_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PySys_SetObject_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PySys_SetPath_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyString_FromString_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_Py_NewInterpreter_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyRun_SimpleString_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyThreadState_Swap_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyUnicode_FromFormat_n
call fcn.00401e10
mov eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyUnicode_FromString_n
call fcn.00401e10
or eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for_PyUnicode_Decode_n
call fcn.00401e10
or eax, 0xffffffff
jmp 0x4032c9
mov dword [esp], str.Cannot_GetProcAddress_for__Py_char2wchar_n
call fcn.00401e10
or eax, 0xffffffff
jmp 0x4032c9