Function at 0x401350
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x10
mov dword [esp], str.msvcr120.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
sub esp, 4
test eax, eax
je 0x402040
mov ebx, eax
mov esi, dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esp + 4], str.setlocale
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x40c0f4], eax
mov dword [esp], ebx
mov dword [esp + 4], str.localeconv
call esi
sub esp, 8
mov dword [0x40c0f0], eax
mov dword [esp], ebx
mov dword [esp + 4], str.wcstombs_s
call esi
sub esp, 8
mov dword [0x40c0ec], eax
mov dword [esp], ebx
mov dword [esp + 4], str._dsign
call esi
sub esp, 8
mov dword [0x40c0e8], eax
mov dword [esp], ebx
mov dword [esp + 4], str._fdsign
call esi
sub esp, 8
mov dword [0x40c0e4], eax
mov dword [esp], ebx
mov dword [esp + 4], str._dpcomp
call esi
sub esp, 8
mov dword [0x40c0e0], eax
mov dword [esp], ebx
mov dword [esp + 4], str.___lc_locale_name_func
call esi
sub esp, 8
mov dword [0x40c0dc], eax
mov dword [esp], ebx
mov dword [esp + 4], str.__GetConcurrency_details_Concurrency__YAIXZ
call esi
sub esp, 8
mov dword [0x40c0d8], eax
mov dword [esp], ebx
mov dword [esp + 4], str._W_Gettnames
call esi
sub esp, 8
mov dword [0x40c0d4], eax
mov dword [esp], ebx
mov dword [esp + 4], str._Gettnames
call esi
sub esp, 8
mov dword [0x40c0d0], eax
mov dword [esp], ebx
mov dword [esp + 4], str.free
call esi
sub esp, 8
mov dword [0x40c0cc], eax
mov dword [esp], ebx
mov dword [esp + 4], str.strtof
call esi
sub esp, 8
mov dword [0x40c0c8], eax
mov dword [esp], ebx
mov dword [esp + 4], str._finite
call esi
sub esp, 8
mov dword [0x40c0c4], eax
mov dword [esp], ebx
mov dword [esp + 4], str.wcstof
call esi
sub esp, 8
mov dword [0x40c0c0], eax
mov dword [esp], ebx
mov dword [esp + 4], str.remainder
call esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], str._errno
call esi
sub esp, 8
mov dword [0x40c0bc], eax
mov dword [esp], ebx
mov dword [esp + 4], str._wcreate_locale
call esi
sub esp, 8
mov dword [0x40c090], eax
mov dword [esp], ebx
mov dword [esp + 4], str._free_locale
call esi
sub esp, 8
mov dword [0x40c08c], eax
mov dword [esp], ebx
mov dword [esp + 4], str.wctype
call esi
sub esp, 8
mov dword [0x40c088], eax
mov dword [esp + 4], 0x104
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c088]
xor eax, eax
mov dword [esp + 8], str.wctype
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fegetenv
call esi
sub esp, 8
mov dword [0x40c0b8], eax
mov dword [esp + 4], 0x105
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c0b8]
xor eax, eax
mov dword [esp + 8], str.fegetenv
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fesetenv
call esi
sub esp, 8
mov dword [0x40c0b4], eax
mov dword [esp + 4], 0x106
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c0b4]
xor eax, eax
mov dword [esp + 8], str.fesetenv
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fegetround
call esi
sub esp, 8
mov dword [0x40c0b0], eax
mov dword [esp + 4], 0x107
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c0b0]
xor eax, eax
mov dword [esp + 8], str.fegetround
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fesetround
call esi
sub esp, 8
mov dword [0x40c0ac], eax
mov dword [esp + 4], 0x108
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c0ac]
xor eax, eax
mov dword [esp + 8], str.fesetround
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fegetexceptflag
call esi
sub esp, 8
mov dword [0x40c0a8], eax
mov dword [esp + 4], 0x109
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c0a8]
xor eax, eax
mov dword [esp + 8], str.fegetexceptflag
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fesetexceptflag
call esi
sub esp, 8
mov dword [0x40c0a4], eax
mov dword [esp + 4], 0x10a
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c0a4]
xor eax, eax
mov dword [esp + 8], str.fesetexceptflag
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.fetestexcept
call esi
sub esp, 8
mov dword [0x40c0a0], eax
mov dword [esp + 4], 0x10b
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c0a0]
xor eax, eax
mov dword [esp + 8], str.fetestexcept
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.feclearexcept
call esi
sub esp, 8
mov dword [0x40c09c], eax
mov dword [esp + 4], 0x10c
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c09c]
xor eax, eax
mov dword [esp + 8], str.feclearexcept
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.feupdateenv
call esi
sub esp, 8
mov dword [0x40c098], eax
mov dword [esp + 4], 0x10d
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c098]
xor eax, eax
mov dword [esp + 8], str.feupdateenv
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._clearfp
call esi
sub esp, 8
mov dword [0x40c094], eax
mov dword [esp + 4], 0x10f
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c094]
xor eax, eax
mov dword [esp + 8], str._clearfp
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.vsscanf
call esi
sub esp, 8
mov dword [0x40c084], eax
mov dword [esp + 4], 0x110
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c084]
xor eax, eax
mov dword [esp + 8], str.vsscanf
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._Cbuild
call esi
sub esp, 8
mov dword [0x40c080], eax
mov dword [esp + 4], 0x111
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c080]
xor eax, eax
mov dword [esp + 8], str._Cbuild
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.creal
call esi
sub esp, 8
mov dword [0x40c07c], eax
mov dword [esp + 4], 0x112
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c07c]
xor eax, eax
mov dword [esp + 8], str.creal
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.nexttoward
call esi
sub esp, 8
mov dword [0x40c078], eax
mov dword [esp + 4], 0x113
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c078]
xor eax, eax
mov dword [esp + 8], str.nexttoward
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.nexttowardf
call esi
sub esp, 8
mov dword [0x40c074], eax
mov dword [esp + 4], 0x114
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c074]
xor eax, eax
mov dword [esp + 8], str.nexttowardf
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.nexttowardl
call esi
sub esp, 8
mov dword [0x40c070], eax
mov dword [esp + 4], 0x115
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c070]
xor eax, eax
mov dword [esp + 8], str.nexttowardl
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.wctrans
call esi
sub esp, 8
mov dword [0x40c06c], eax
mov dword [esp + 4], 0x116
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c06c]
xor eax, eax
mov dword [esp + 8], str.wctrans
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.towctrans
call esi
sub esp, 8
mov dword [0x40c068], eax
mov dword [esp + 4], 0x117
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c068]
xor eax, eax
mov dword [esp + 8], str.towctrans
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__CurrentContext__Context_details_Concurrency__SA_AV123_XZ
call esi
sub esp, 8
mov dword [0x40c024], eax
mov dword [esp + 4], 0x118
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c024]
xor eax, eax
mov dword [esp + 8], str.__CurrentContext__Context_details_Concurrency__SA_AV123_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__0critical_section_Concurrency__QAE_XZ
call esi
sub esp, 8
mov dword [0x40c064], eax
mov dword [esp + 4], 0x15c
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c064]
xor eax, eax
mov dword [esp + 8], str.__0critical_section_Concurrency__QAE_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__1critical_section_Concurrency__QAE_XZ
call esi
sub esp, 8
mov dword [0x40c060], eax
mov dword [esp + 4], 0x15e
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c060]
xor eax, eax
mov dword [esp + 8], str.__1critical_section_Concurrency__QAE_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._lock_critical_section_Concurrency__QAEXXZ
call esi
sub esp, 8
mov dword [0x40c05c], eax
mov dword [esp + 4], 0x160
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c05c]
xor eax, eax
mov dword [esp + 8], str._lock_critical_section_Concurrency__QAEXXZ
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._unlock_critical_section_Concurrency__QAEXXZ
call esi
sub esp, 8
mov dword [0x40c058], eax
mov dword [esp + 4], 0x162
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c058]
xor eax, eax
mov dword [esp + 8], str._unlock_critical_section_Concurrency__QAEXXZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._native_handle_critical_section_Concurrency__QAEAAV12_XZ
call esi
sub esp, 8
mov dword [0x40c054], eax
mov dword [esp + 4], 0x164
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c054]
xor eax, eax
mov dword [esp + 8], str._native_handle_critical_section_Concurrency__QAEAAV12_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._try_lock_critical_section_Concurrency__QAE_NXZ
call esi
sub esp, 8
mov dword [0x40c050], eax
mov dword [esp + 4], 0x166
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c050]
xor eax, eax
mov dword [esp + 8], str._try_lock_critical_section_Concurrency__QAE_NXZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._try_lock_for_critical_section_Concurrency__QAE_NI_Z
call esi
sub esp, 8
mov dword [0x40c04c], eax
mov dword [esp + 4], 0x168
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c04c]
xor eax, eax
mov dword [esp + 8], str._try_lock_for_critical_section_Concurrency__QAE_NI_Z
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__0scoped_lock_critical_section_Concurrency__QAE_AAV12__Z
call esi
sub esp, 8
mov dword [0x40c048], eax
mov dword [esp + 4], 0x16a
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c048]
xor eax, eax
mov dword [esp + 8], str.__0scoped_lock_critical_section_Concurrency__QAE_AAV12__Z
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__1scoped_lock_critical_section_Concurrency__QAE_XZ
call esi
sub esp, 8
mov dword [0x40c044], eax
mov dword [esp + 4], 0x16c
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c044]
xor eax, eax
mov dword [esp + 8], str.__1scoped_lock_critical_section_Concurrency__QAE_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__0_Condition_variable_details_Concurrency__QAE_XZ
call esi
sub esp, 8
mov dword [0x40c040], eax
mov dword [esp + 4], 0x16e
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c040]
xor eax, eax
mov dword [esp + 8], str.__0_Condition_variable_details_Concurrency__QAE_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str.__1_Condition_variable_details_Concurrency__QAE_XZ
call esi
sub esp, 8
mov dword [0x40c03c], eax
mov dword [esp + 4], 0x170
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c03c]
xor eax, eax
mov dword [esp + 8], str.__1_Condition_variable_details_Concurrency__QAE_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._wait__Condition_variable_details_Concurrency__QAEXAAVcritical_section_3__Z
call esi
sub esp, 8
mov dword [0x40c038], eax
mov dword [esp + 4], 0x172
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c038]
xor eax, eax
mov dword [esp + 8], str._wait__Condition_variable_details_Concurrency__QAEXAAVcritical_section_3__Z
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._wait_for__Condition_variable_details_Concurrency__QAE_NAAVcritical_section_3_I_Z
call esi
sub esp, 8
mov dword [0x40c034], eax
mov dword [esp + 4], 0x174
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c034]
xor eax, eax
mov dword [esp + 8], str._wait_for__Condition_variable_details_Concurrency__QAE_NAAVcritical_section_3_I_Z
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._notify_one__Condition_variable_details_Concurrency__QAEXXZ
call esi
sub esp, 8
mov dword [0x40c030], eax
mov dword [esp + 4], 0x176
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c030]
xor eax, eax
mov dword [esp + 8], str._notify_one__Condition_variable_details_Concurrency__QAEXXZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov dword [esp + 4], str._notify_all__Condition_variable_details_Concurrency__QAEXXZ
call esi
sub esp, 8
mov dword [0x40c02c], eax
mov dword [esp + 4], 0x178
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov edx, dword [0x40c02c]
xor eax, eax
mov dword [esp + 8], str._notify_all__Condition_variable_details_Concurrency__QAEXXZ
mov dword [esp + 4], str.Export__s_not_found_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp], ebx
mov ebx, 0xffffe2ff
mov dword [esp + 4], str._CurrentContext_Context_Concurrency__SAPAV12_XZ
call esi
sub esp, 8
mov dword [0x40c028], eax
mov dword [esp + 4], 0x17b
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov ecx, dword [0x40c028]
xor eax, eax
mov dword [esp + 8], str._CurrentContext_Context_Concurrency__SAPAV12_XZ
mov dword [esp + 4], str.Export__s_not_found_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00407330
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 6
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [eax], 0x50595a58
sub esp, 0x10
mov word [eax + 4], bx
mov dword [0x40c100], eax
mov dword [0x40c0fc], eax
mov dword [0x40c0f8], eax
lea esp, [ebp - 8]
mov eax, 1
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 4], 0xee
mov dword [esp], str..._wine_dlls_msvcr120_tests_msvcr120.c
call fcn.004070c0
mov dword [esp], str.msvcr120.dll_not_installed_n
call fcn.00407440
lea esp, [ebp - 8]
xor eax, eax
pop ebx
pop esi
pop ebp
ret