Function at 0x10011ba0
Capabilities:
Check if file exists
Create process on windows
Hide graphical window
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x100306cf
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
mov eax, dword [0x1004004c]
xor eax, esp
mov dword [esp + 0x1c0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1004004c]
xor eax, esp
push eax
lea eax, [esp + 0x1d8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1ec]
mov ebp, dword [esp + 0x1e8]
xor ebx, ebx
mov dword [esp + 0x28], ebp
mov esi, edx
cmp eax, ebx
jne 0x10011fb9
cmp ecx, ebx
jne 0x10012509
sub esp, 0x1c
lea edi, [esi + 0x1c]
mov ecx, esp
mov dword [esp + 0x34], esp
push edi
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
sub esp, 0x1c
mov dword [esp + 0x218], ebx
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x10033390
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov byte [esp + 0x234], 1
mov ecx, esp
mov dword [esp + 0x78], esp
push str.currentversion
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov byte [esp + 0x250], 2
mov ecx, esp
mov dword [esp + 0x8c], esp
push str.version
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea esi, [esp + 0x174]
mov dword [esp + 0x250], 0xffffffff
call fcn.10014440
add esp, 0x54
mov ebx, 3
mov dword [esp + 0x1fc], ebx
mov ecx, esp
mov dword [esp + 0x38], esp
push edi
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
sub esp, 0x1c
mov byte [esp + 0x218], 4
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x10033390
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov byte [esp + 0x234], 5
mov ecx, esp
mov dword [esp + 0x74], esp
push str.upgraderange
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov byte [esp + 0x250], 6
mov ecx, esp
mov dword [esp + 0x88], esp
push str.version
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea esi, [esp + 0x198]
mov byte [esp + 0x250], bl
call fcn.10014440
add esp, 0x54
mov bl, 7
mov byte [esp + 0x1fc], bl
mov ecx, esp
mov dword [esp + 0x38], esp
call fcn.100142b0
sub esp, 0x1c
mov byte [esp + 0x218], 8
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x10033390
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov byte [esp + 0x234], 9
mov ecx, esp
mov dword [esp + 0x74], esp
push str.lastUpgradeVer
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov byte [esp + 0x250], 0xa
mov ecx, esp
mov dword [esp + 0x88], esp
push str.version
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea esi, [esp + 0x158]
mov byte [esp + 0x250], bl
call fcn.10014440
add esp, 0x70
lea eax, [esp + 0x104]
add ebp, 0x1f24
push eax
mov ecx, ebp
mov byte [esp + 0x1e4], 0xb
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x74]
push ecx
mov ebx, 0x100343ec
lea edi, [esp + 0x108]
call fcn.10013dc0
add esp, 4
push eax
mov ecx, edi
mov byte [esp + 0x1e4], 0xc
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x74]
mov byte [esp + 0x1e0], 0xb
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
cmp dword [esp + 0x11c], 8
mov eax, dword [esp + 0x108]
jae 0x10011dfd
lea eax, [esp + 0x108]
push eax
call fcn.100147f0
mov esi, eax
add esp, 4
test esi, esi
je 0x10011f72
lea edx, [esp + 0x90]
push edx
mov ebx, 0x100343ec
lea edi, [esp + 0xec]
call fcn.10013dc0
add esp, 4
push eax
mov ecx, edi
mov byte [esp + 0x1e4], 0xd
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x90]
mov byte [esp + 0x1e0], 0xb
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, dword [esp + 0xec]
mov edi, 8
cmp dword [esp + 0x100], edi
jae 0x10011e6e
lea eax, [esp + 0xec]
push eax
call fcn.100147f0
add esp, 4
cmp esi, 0xbb8
jle 0x10011f72
cmp eax, esi
jge 0x10011f72
sub esp, 0x1c
lea eax, [esp + 0x144]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
call fcn.10012540
test al, al
je 0x10011f72
lea esi, [esp + 0x18]
call fcn.10007180
mov bl, 0xe
mov byte [esp + 0x1e0], bl
cmp dword [ebp + 0x18], edi
jb 0x10011ecb
mov ebp, dword [ebp + 4]
jmp 0x10011ece
add ebp, 4
push ebp
push 0x100343f0
lea edi, [esp + 0x20]
call fcn.10007a70
mov ecx, dword [esp + 0x20]
add esp, 8
push ecx
lea ecx, [esp + 0xd0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x1e0], 0xf
cmp dword [esp + 0xe4], 8
mov eax, dword [esp + 0xd0]
jae 0x10011f12
lea eax, [esp + 0xd0]
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 0x494]
push 0
lea edi, [esi + 0x494]
push 0x10034414
push eax
mov eax, dword [edx + 0x8c]
mov ecx, edi
call eax
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [edi]
mov eax, dword [edx + 0x8c]
push 0
mov ecx, edi
call eax
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.10011890
lea ecx, [esp + 0xcc]
mov byte [esp + 0x1e0], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x18]
call fcn.10007250
lea ecx, [esp + 0xe8]
mov byte [esp + 0x1e0], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0x1e0], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x104]
mov dword [esp + 0x1e0], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x10012509
mov edi, 1
cmp eax, edi
jne 0x1001228a
cmp ecx, ebx
jne 0x10012509
call fcn.10015170
cmp eax, ebx
je 0x1001213a
push 0x40
xor eax, eax
lea ecx, [esp + 0x34]
push ebx
push ecx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x7e
lea ecx, [esp + 0x14a]
xor edx, edx
xor eax, eax
push ebx
push ecx
mov dword [esp + 0x38], 0x44
mov word [esp + 0x68], dx
mov dword [esp + 0x64], edi
mov word [esp + 0x150], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
push str.__S__SQUPGRADE
lea ecx, [esp + 0xd0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [esp + 0x1e0], 0x10
mov eax, dword [esp + 0xd0]
mov edi, 8
cmp dword [esp + 0xe4], edi
jae 0x10012072
lea eax, [esp + 0xd0]
push eax
lea edx, [esp + 0x148]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
cmp dword [esi + 0x34], edi
jb 0x1001208b
mov esi, dword [esi + 0x20]
jmp 0x1001208e
add esi, 0x20
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x30]
push ecx
push ebx
push ebx
push 0x220
push ebx
push ebx
push ebx
lea edx, [esp + 0x164]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x1001226d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
call fcn.100142b0
sub esp, 0x1c
mov byte [esp + 0x218], 0x11
lea eax, [ebp + 0x1f24]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
sub esp, 0x1c
mov byte [esp + 0x234], 0x12
mov ecx, esp
mov dword [esp + 0x74], esp
push str.lastUpgradeVer
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push str.version
mov byte [esp + 0x254], 0x13
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x250], 0x10
call fcn.100145f0
add esp, 0x70
push ebx
push ebx
jmp 0x1001224d
push str._S__SQUPGRADE
lea ecx, [esp + 0xd0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push 0x38
lea ecx, [esp + 0x34]
mov ebx, 0x14
push 0
mov dword [esp + 0x1e8], ebx
push ecx
mov dword [esp + 0x38], 0x3c
call sub.MSVCR90.dll_memset
mov eax, 8
add esp, 0xc
mov dword [esp + 0x38], str.runas
cmp dword [esi + 0x34], eax
jb 0x1001218c
mov edx, dword [esi + 0x20]
mov dword [esp + 0x3c], edx
jmp 0x10012193
add esi, 0x20
mov dword [esp + 0x3c], esi
cmp dword [esp + 0xe4], eax
jb 0x100121a9
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x40], eax
jmp 0x100121b4
lea ecx, [esp + 0xd0]
mov dword [esp + 0x40], ecx
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x38], 0
mov dword [esp + 0x4c], edi
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x1001226d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
call fcn.100142b0
sub esp, 0x1c
mov byte [esp + 0x218], 0x15
lea eax, [ebp + 0x1f24]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
sub esp, 0x1c
mov byte [esp + 0x234], 0x16
mov ecx, esp
mov dword [esp + 0x74], esp
push str.lastUpgradeVer
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x98], esp
push str.version
mov byte [esp + 0x254], 0x17
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x250], bl
call fcn.100145f0
add esp, 0x70
push 0
push 0
mov edx, dword [ebp + 0x494]
mov eax, dword [edx + 0x8c]
lea ecx, [ebp + 0x494]
push 0x4c9
call eax
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [esp + 0xcc]
mov dword [esp + 0x1e0], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x10012509
cmp eax, 2
jne 0x100124d9
cmp ecx, ebx
jne 0x100124b8
mov ebx, 8
cmp dword [esi + 0x34], ebx
jb 0x100122aa
mov eax, dword [esi + 0x20]
jmp 0x100122ad
lea eax, [esi + 0x20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100124b8
cmp dword [esi + 0x34], ebx
jb 0x100122c6
mov esi, dword [esi + 0x20]
jmp 0x100122c9
add esi, 0x20
push edi
push 0x40
push edi
push esi
lea ecx, [esp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::constructor_wchar_t_const___int__int_]
mov dword [esp + 0x1e0], 0x18
mov ecx, dword [esp + 0x144]
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x14c]
test al, 6
jne 0x1001249e
lea ecx, [esp + 0xe8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x148]
mov byte [esp + 0x1e4], 0x19
mov ebx, dword [sym.imp.MSVCP90.dll_class_std::basic_istream_char__struct_std::char_traits_char______cdecl_std::getline_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_istream_char__struct_std::char_traits_char_____class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____]
push ecx
call ebx
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
mov eax, dword [ecx + 8]
and al, 6
movsx edx, al
add esp, 8
neg edx
sbb edx, edx
not edx
test ecx, edx
je 0x10012489
lea esp, [esp]
push 0
push 0x10034468
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
push 0
push 0x1003446c
lea ecx, [esp + 0xf0]
mov ebp, eax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
mov edi, eax
mov eax, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov esi, dword [eax]
push 0
push 0x10034470
lea ecx, [esp + 0xf0]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int_const]
cmp eax, esi
je 0x100123a3
cmp ebp, esi
je 0x100123a3
cmp edi, esi
jne 0x100123dc
lea ecx, [esp + 0xe8]
push ecx
lea edx, [esp + 0x148]
push edx
call ebx
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + eax + 8]
add ecx, eax
and dl, 6
movsx eax, dl
add esp, 8
neg eax
sbb eax, eax
not eax
test ecx, eax
jne 0x10012350
jmp 0x10012489
sub edi, ebp
dec edi
push edi
inc ebp
push ebp
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0xf4]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov bl, 0x1a
lea ecx, [esp + 0x128]
mov byte [esp + 0x1e0], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [esp + 0x1e0], 0x1b
cmp dword [esp + 0xe4], 0x10
mov eax, dword [esp + 0xd0]
jae 0x1001242d
lea eax, [esp + 0xd0]
lea edx, [esp + 0x128]
push edx
push eax
call fcn.10014d20
add esp, 8
lea eax, [esp + 0x128]
push eax
lea ecx, [esp + 0x108]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
lea ecx, [esp + 0x104]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x128]
mov byte [esp + 0x1e0], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0xcc]
mov byte [esp + 0x1e0], 0x19
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0xe8]
mov byte [esp + 0x1e0], 0x18
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x144]
mov dword [esp + 0x1e0], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ifstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
jmp 0x10012509
push str.error
lea ecx, [esp + 0xb0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea ecx, [esp + 0xac]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
jmp 0x10012509
cmp eax, 3
jne 0x100124e2
cmp ecx, ebx
jmp 0x100124e5
cmp eax, 4
jne 0x10012509
mov edx, dword [ebp + 0x494]
mov eax, dword [edx + 0x8c]
push ebx
lea ecx, [ebp + 0x494]
push ebx
push 0x4c9
call eax
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [esp + 0x1d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1c0]
xor ecx, esp
call fcn.1002c7c6
add esp, 0x1d0
ret 8