Function at 0x416e6e
Capabilities:
Terminate process

Disassembly:
mov eax, 0x42e505
call fcn.0041f1a0
sub esp, 0x1a0
mov eax, dword [0x440200]
push ebx
push esi
push edi
push dword [ebp + 8]
mov edi, dword [ebp + 0x10]
xor ebx, ebx
push ebx
xor eax, ebp
push 0x1f0fff
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, ebx
je 0x417110
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
push esi
call sub.PSAPI.DLL_GetModuleFileNameExA
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x184]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov eax, dword [sym.imp.MSVCP71.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [eax]
push eax
push eax
push 0x5c
lea ecx, [ebp - 0x184]
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char__unsigned_int_const]
inc eax
push eax
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x184]
call dword [sym.imp.MSVCP71.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_]
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 1
call fcn.00402730
push dword [0x4401cc]
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 2
call fcn.00412451
lea ecx, [ebp + 0xc]
push ecx
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0040b6ce
mov eax, dword [ebp - 0x190]
cmp eax, ebx
mov byte [ebp - 4], 2
je 0x416f4c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 2
lea ecx, [ebp - 0x18c]
call fcn.00411e1e
push ebx
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x18c]
call fcn.004126d5
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
cmp dword [ebp - 0x118], 0x10
mov ecx, dword [ebp - 0x12c]
mov byte [ebp - 4], 5
jae 0x416f95
lea ecx, [ebp - 0x12c]
cmp dword [ebp - 0x150], 0x10
mov eax, dword [ebp - 0x164]
jae 0x416faa
lea eax, [ebp - 0x164]
push 0x64
lea edx, [ebp - 0x14c]
push edx
push dword [ebp - 0x11c]
push ecx
push dword [0x433af0]
push dword [0x4401c4]
push eax
push dword [ebp + 8]
call fcn.00423f78
add esp, 0x20
call sub.KERNEL32.dll_GetLastError
lea ecx, [ebp - 0x188]
call fcn.00402730
cmp dword [ebp - 0x138], ebx
mov byte [ebp - 4], 6
je 0x41708b
push 2
lea ecx, [ebp - 0x188]
call fcn.00411e1e
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x188]
call fcn.00411ebc
cmp eax, ebx
jne 0x41708b
push dword [0x4401d0]
lea ecx, [ebp - 0x188]
call fcn.00411d87
test al, al
je 0x41708b
push dword [0x4401d0]
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x188]
call fcn.00412451
lea ecx, [ebp - 0x1ac]
push ecx
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00411ac7
lea eax, [ebp - 0x1ac]
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call dword [0x4313d0]
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP71.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 [ebp - 0x190]
cmp eax, ebx
mov byte [ebp - 4], 6
je 0x41708b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4170a2
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x188]
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x4170bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [ebp - 0x18c]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x4170f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x184]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
xor ecx, ebp
pop ebx
call fcn.0041ef93
leave
ret