Function at 0x402d70
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rcx
mov edi, edx
lea rdx, str.Py_DontWriteBytecodeFlag
call rbx
test rax, rax
mov qword [0x004141a8], rax
je 0x403364
lea rdx, str.Py_FileSystemDefaultEncoding
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004141a0], rax
je 0x40337a
lea rdx, str.Py_FrozenFlag
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414198], rax
je 0x403390
lea rdx, str.Py_IgnoreEnvironmentFlag
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414190], rax
je 0x4033a6
lea rdx, str.Py_NoSiteFlag
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414188], rax
je 0x4033bc
lea rdx, str.Py_NoUserSiteDirectory
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414180], rax
je 0x4033d2
lea rdx, str.Py_OptimizeFlag
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414178], rax
je 0x4033e8
lea rdx, str.Py_VerboseFlag
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414170], rax
je 0x4033fe
lea rdx, str.Py_BuildValue
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414168], rax
je 0x403414
lea rdx, str.Py_DecRef
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414160], rax
je 0x40342a
lea rdx, str.Py_EndInterpreter
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414158], rax
je 0x403440
lea rdx, str.Py_Finalize
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414150], rax
je 0x403456
lea rdx, str.Py_IncRef
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414148], rax
je 0x40346c
lea rdx, str.Py_Initialize
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414140], rax
je 0x403498
lea rdx, str.Py_NewInterpreter
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414138], rax
je 0x4036a8
cmp edi, 0x1d
jg 0x403205
lea rdx, str.Py_SetProgramName
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414128], rax
je 0x403482
lea rdx, str.Py_SetPythonHome
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414120], rax
je 0x4034c4
lea rdx, str.PyDict_GetItemString
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414118], rax
je 0x4034ae
lea rdx, str.PyErr_Clear
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414110], rax
je 0x4034f0
lea rdx, str.PyErr_Occurred
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414108], rax
je 0x4034da
lea rdx, str.PyErr_Print
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414100], rax
je 0x40351c
lea rdx, str.PyEval_AcquireThread
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140f8], rax
je 0x403506
lea rdx, str.PyEval_InitThreads
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140f0], rax
je 0x403548
lea rdx, str.PyEval_ReleaseThread
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140e8], rax
je 0x403532
lea rdx, str.PyImport_AddModule
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140e0], rax
je 0x40358a
lea rdx, str.PyImport_ExecCodeModule
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140d8], rax
je 0x403574
lea rdx, str.PyImport_ImportModule
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140d0], rax
je 0x40355e
lea rdx, str.PyList_Append
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140c8], rax
je 0x4035a0
lea rdx, str.PyList_New
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140c0], rax
je 0x4035b6
lea rdx, str.PyLong_AsLong
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140b8], rax
je 0x4035cc
lea rdx, str.PyModule_GetDict
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140b0], rax
je 0x4035e2
lea rdx, str.PyObject_CallFunction
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140a8], rax
je 0x4035f8
lea rdx, str.PyObject_SetAttrString
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x004140a0], rax
je 0x40360e
lea rdx, str.PyRun_SimpleString
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414098], rax
je 0x4036be
cmp edi, 0x1d
jle 0x403234
lea rdx, str.PySys_AddWarnOption
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414088], rax
je 0x403624
lea rdx, str.PySys_SetArgvEx
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414080], rax
je 0x40363a
lea rdx, str.PySys_GetObject
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414078], rax
je 0x403650
lea rdx, str.PySys_SetObject
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414070], rax
je 0x403666
lea rdx, str.PySys_SetPath
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414068], rax
je 0x40367c
lea rdx, str.PyThreadState_Swap
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414060], rax
je 0x4036d4
cmp edi, 0x1d
jg 0x403282
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
lea rdx, str.Py_SetPath
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414130], rax
jne 0x402f2d
lea rcx, str.Cannot_GetProcAddress_for_Py_SetPath_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rdx, str.PyString_FromString
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414090], rax
je 0x403692
lea rdx, str.PyString_FromFormat
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414048], rax
jne 0x40314a
lea rcx, str.Cannot_GetProcAddress_for_PyString_FromFormat_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rdx, str.PyUnicode_FromString
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414058], rax
je 0x403700
cmp edi, 0x22
jg 0x403334
lea rdx, str._Py_char2wchar
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414050], rax
je 0x403728
lea rdx, str.PyUnicode_FromFormat
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414040], rax
je 0x4036ea
lea rdx, str.PyUnicode_Decode
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414030], rax
je 0x403714
cmp edi, 0x1f
jle 0x4031fb
lea rdx, str.PyUnicode_DecodeFSDefault
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414038], rax
jne 0x4031fb
lea rcx, str.Cannot_GetProcAddress_for_PyUnicode_DecodeFSDefault_n
call fcn.00401ce0
or eax, 0xffffffff
jmp 0x4031fd
lea rdx, str.Py_DecodeLocale
mov rcx, rsi
call rbx
test rax, rax
mov qword [0x00414050], rax
jne 0x4032c3
lea rcx, str.Cannot_GetProcAddress_for_Py_DecodeLocale_n
call fcn.00401ce0
or eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_DontWriteBytecodeFlag_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_FileSystemDefaultEncoding_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_FrozenFlag_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_IgnoreEnvironmentFlag_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_NoSiteFlag_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_NoUserSiteDirectory_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_OptimizeFlag_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_VerboseFlag_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_BuildValue_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_DecRef_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_EndInterpreter_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_Finalize_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_IncRef_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_SetProgramName_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_Initialize_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyDict_GetItemString_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_SetPythonHome_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyErr_Occurred_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyErr_Clear_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyEval_AcquireThread_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyErr_Print_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyEval_ReleaseThread_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyEval_InitThreads_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyImport_ImportModule_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyImport_ExecCodeModule_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyImport_AddModule_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyList_Append_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyList_New_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyLong_AsLong_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyModule_GetDict_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyObject_CallFunction_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyObject_SetAttrString_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PySys_AddWarnOption_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PySys_SetArgvEx_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PySys_GetObject_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PySys_SetObject_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PySys_SetPath_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyString_FromString_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_Py_NewInterpreter_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyRun_SimpleString_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyThreadState_Swap_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyUnicode_FromFormat_n
call fcn.00401ce0
mov eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyUnicode_FromString_n
call fcn.00401ce0
or eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for_PyUnicode_Decode_n
call fcn.00401ce0
or eax, 0xffffffff
jmp 0x4031fd
lea rcx, str.Cannot_GetProcAddress_for__Py_char2wchar_n
call fcn.00401ce0
or eax, 0xffffffff
jmp 0x4031fd