Function at 0x402890
Capabilities:
Link many functions at runtime

Disassembly:
push esi
mov esi, dword [esp + 8]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.Py_DontWriteBytecodeFlag
push esi
call edi
mov dword [0x42d970], eax
test eax, eax
jne 0x4028c5
push str.Failed_to_get_address_for_Py_DontWriteBytecodeFlag_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_FileSystemDefaultEncoding
push esi
call edi
mov dword [0x42d964], eax
test eax, eax
jne 0x4028ee
push str.Failed_to_get_address_for_Py_FileSystemDefaultEncoding_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_FrozenFlag
push esi
call edi
mov dword [0x42d958], eax
test eax, eax
jne 0x402917
push str.Failed_to_get_address_for_Py_FrozenFlag_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_IgnoreEnvironmentFlag
push esi
call edi
mov dword [0x42d96c], eax
test eax, eax
jne 0x402940
push str.Failed_to_get_address_for_Py_IgnoreEnvironmentFlag_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_NoSiteFlag
push esi
call edi
mov dword [0x42d95c], eax
test eax, eax
jne 0x402969
push str.Failed_to_get_address_for_Py_NoSiteFlag_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_NoUserSiteDirectory
push esi
call edi
mov dword [0x42d974], eax
test eax, eax
jne 0x402992
push str.Failed_to_get_address_for_Py_NoUserSiteDirectory_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_OptimizeFlag
push esi
call edi
mov dword [0x42d960], eax
test eax, eax
jne 0x4029bb
push str.Failed_to_get_address_for_Py_OptimizeFlag_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_VerboseFlag
push esi
call edi
mov dword [0x42d968], eax
test eax, eax
jne 0x4029e4
push str.Failed_to_get_address_for_Py_VerboseFlag_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_BuildValue
push esi
call edi
mov dword [0x42d9bc], eax
test eax, eax
jne 0x402a0d
push str.Failed_to_get_address_for_Py_BuildValue_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_DecRef
push esi
call edi
mov dword [0x42d984], eax
test eax, eax
jne 0x402a36
push str.Failed_to_get_address_for_Py_DecRef_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_Finalize
push esi
call edi
mov dword [0x42d97c], eax
test eax, eax
jne 0x402a5f
push str.Failed_to_get_address_for_Py_Finalize_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_IncRef
push esi
call edi
mov dword [0x42d980], eax
test eax, eax
jne 0x402a88
push str.Failed_to_get_address_for_Py_IncRef_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push str.Py_Initialize
push esi
call edi
mov dword [0x42d978], eax
test eax, eax
jne 0x402ab1
push str.Failed_to_get_address_for_Py_Initialize_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
ret
push ebx
mov ebx, dword [esp + 0x14]
cmp ebx, 0x1e
jl 0x402af1
push str.Py_SetPath
push esi
call edi
mov dword [0x42d990], eax
test eax, eax
jne 0x402ad6
push str.Failed_to_get_address_for_Py_SetPath_n
jmp 0x402e3d
push str.Py_GetPath
push esi
call edi
mov dword [0x42d994], eax
test eax, eax
jne 0x402af1
push str.Failed_to_get_address_for_Py_GetPath_n
jmp 0x402e3d
push str.Py_SetProgramName
push esi
call edi
mov dword [0x42d988], eax
test eax, eax
jne 0x402b0c
push str.Failed_to_get_address_for_Py_SetProgramName_n
jmp 0x402e3d
push str.Py_SetPythonHome
push esi
call edi
mov dword [0x42d98c], eax
test eax, eax
jne 0x402b27
push str.Failed_to_get_address_for_Py_SetPythonHome_n
jmp 0x402e3d
push str.PyDict_GetItemString
push esi
call edi
mov dword [0x42d9d0], eax
test eax, eax
jne 0x402b42
push str.Failed_to_get_address_for_PyDict_GetItemString_n
jmp 0x402e3d
push str.PyErr_Clear
push esi
call edi
mov dword [0x42d9d4], eax
test eax, eax
jne 0x402b5d
push str.Failed_to_get_address_for_PyErr_Clear_n
jmp 0x402e3d
push str.PyErr_Occurred
push esi
call edi
mov dword [0x42d9d8], eax
test eax, eax
jne 0x402b78
push str.Failed_to_get_address_for_PyErr_Occurred_n
jmp 0x402e3d
push str.PyErr_Print
push esi
call edi
mov dword [0x42d9dc], eax
test eax, eax
jne 0x402b93
push str.Failed_to_get_address_for_PyErr_Print_n
jmp 0x402e3d
push str.PyImport_AddModule
push esi
call edi
mov dword [0x42d9ac], eax
test eax, eax
jne 0x402bae
push str.Failed_to_get_address_for_PyImport_AddModule_n
jmp 0x402e3d
push str.PyImport_ExecCodeModule
push esi
call edi
mov dword [0x42d9a4], eax
test eax, eax
jne 0x402bc9
push str.Failed_to_get_address_for_PyImport_ExecCodeModule_n
jmp 0x402e3d
push str.PyImport_ImportModule
push esi
call edi
mov dword [0x42d9a8], eax
test eax, eax
jne 0x402be4
push str.Failed_to_get_address_for_PyImport_ImportModule_n
jmp 0x402e3d
push str.PyList_Append
push esi
call edi
mov dword [0x42d9b8], eax
test eax, eax
jne 0x402bff
push str.Failed_to_get_address_for_PyList_Append_n
jmp 0x402e3d
push str.PyList_New
push esi
call edi
mov dword [0x42d9b4], eax
test eax, eax
jne 0x402c1a
push str.Failed_to_get_address_for_PyList_New_n
jmp 0x402e3d
push str.PyLong_AsLong
push esi
call edi
mov dword [0x42d9e4], eax
test eax, eax
jne 0x402c35
push str.Failed_to_get_address_for_PyLong_AsLong_n
jmp 0x402e3d
push str.PyModule_GetDict
push esi
call edi
mov dword [0x42d9cc], eax
test eax, eax
jne 0x402c50
push str.Failed_to_get_address_for_PyModule_GetDict_n
jmp 0x402e3d
push str.PyObject_CallFunction
push esi
call edi
mov dword [0x42d9c8], eax
test eax, eax
jne 0x402c6b
push str.Failed_to_get_address_for_PyObject_CallFunction_n
jmp 0x402e3d
push str.PyObject_SetAttrString
push esi
call edi
mov dword [0x42d9b0], eax
test eax, eax
jne 0x402c86
push str.Failed_to_get_address_for_PyObject_SetAttrString_n
jmp 0x402e3d
push str.PyRun_SimpleString
push esi
call edi
mov dword [0x42d9a0], eax
test eax, eax
jne 0x402ca1
push str.Failed_to_get_address_for_PyRun_SimpleString_n
jmp 0x402e3d
cmp ebx, 0x1e
jge 0x402cdc
push str.PyString_FromString
push esi
call edi
mov dword [0x42d9c0], eax
test eax, eax
jne 0x402cc1
push str.Failed_to_get_address_for_PyString_FromString_n
jmp 0x402e3d
push str.PyString_FromFormat
push esi
call edi
mov dword [0x42d9f4], eax
test eax, eax
jne 0x402cdc
push str.Failed_to_get_address_for_PyString_FromFormat_n
jmp 0x402e3d
push str.PySys_AddWarnOption
push esi
call edi
mov dword [0x42d9e0], eax
test eax, eax
jne 0x402cf7
push str.Failed_to_get_address_for_PySys_AddWarnOption_n
jmp 0x402e3d
push str.PySys_SetArgvEx
push esi
call edi
mov dword [0x42d99c], eax
test eax, eax
jne 0x402d12
push str.Failed_to_get_address_for_PySys_SetArgvEx_n
jmp 0x402e3d
push str.PySys_GetObject
push esi
call edi
mov dword [0x42d9f0], eax
test eax, eax
jne 0x402d2d
push str.Failed_to_get_address_for_PySys_GetObject_n
jmp 0x402e3d
push str.PySys_SetObject
push esi
call edi
mov dword [0x42d9e8], eax
test eax, eax
jne 0x402d48
push str.Failed_to_get_address_for_PySys_SetObject_n
jmp 0x402e3d
push str.PySys_SetPath
push esi
call edi
mov dword [0x42d998], eax
test eax, eax
jne 0x402d63
push str.Failed_to_get_address_for_PySys_SetPath_n
jmp 0x402e3d
push str.PyEval_EvalCode
push esi
call edi
mov dword [0x42da04], eax
test eax, eax
jne 0x402d7e
push str.Failed_to_get_address_for_PyEval_EvalCode_n
jmp 0x402e3d
push str.PyMarshal_ReadObjectFromString
push esi
call edi
mov dword [0x42da08], eax
test eax, eax
jne 0x402d99
push str.Failed_to_get_address_for_PyMarshal_ReadObjectFromString_n
jmp 0x402e3d
cmp ebx, 0x1e
jl 0x402e22
push str.PyUnicode_FromString
push esi
call edi
mov dword [0x42d9c4], eax
test eax, eax
jne 0x402dbd
push str.Failed_to_get_address_for_PyUnicode_FromString_n
jmp 0x402e3d
cmp ebx, 0x23
jl 0x402dda
push str.Py_DecodeLocale
push esi
call edi
mov dword [0x42d9ec], eax
test eax, eax
jne 0x402df2
push str.Failed_to_get_address_for_Py_DecodeLocale_n
jmp 0x402e3d
push str._Py_char2wchar
push esi
call edi
mov dword [0x42d9ec], eax
test eax, eax
jne 0x402df2
push str.Failed_to_get_address_for__Py_char2wchar_n
jmp 0x402e3d
push str.PyUnicode_FromFormat
push esi
call edi
mov dword [0x42d9f8], eax
test eax, eax
jne 0x402e0a
push str.Failed_to_get_address_for_PyUnicode_FromFormat_n
jmp 0x402e3d
push str.PyUnicode_Decode
push esi
call edi
mov dword [0x42da00], eax
test eax, eax
jne 0x402e22
push str.Failed_to_get_address_for_PyUnicode_Decode_n
jmp 0x402e3d
cmp ebx, 0x20
jl 0x402e51
push str.PyUnicode_DecodeFSDefault
push esi
call edi
mov dword [0x42d9fc], eax
test eax, eax
jne 0x402e51
push str.Failed_to_get_address_for_PyUnicode_DecodeFSDefault_n
push 0x421684
call fcn.00401890
add esp, 8
or eax, 0xffffffff
pop ebx
pop edi
pop esi
ret
pop ebx
pop edi
xor eax, eax
pop esi
ret