Function at 0x10080180
Capabilities:
Link many functions at runtime
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x51c
mov eax, dword [0x100c6040]
xor eax, esp
mov dword [esp + 0x518], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [esp + 0x14], esi
test byte [esi + 4], 1
je 0x100801db
push 0x1028a9f5
push 0
push 0x1f0001
call edi
test eax, eax
jne 0x100801db
push eax
push str.Warning_
push 0x100bbbac
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
test byte [esi + 4], 2
je 0x10080219
lea eax, [esi + 0x45]
push eax
lea eax, [esp + 0x1c]
push str.XTEAM_MAIN_10405__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x18]
push eax
push 0
push 0x1f0001
call edi
test eax, eax
jne 0x10080270
lea eax, [esp + 0x18]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp dword [esi + 0x1dc], 0
je 0x10080365
push 0x104
lea eax, [esp + 0x41c]
push 0
push eax
call fcn.1008e1e0
add esp, 0xc
lea eax, [esp + 0x418]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1008028c
push eax
push str.Warning_
push 0x100bbbc8
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
push str.Warning_
push 0x100bbbc4
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [esp + 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10080296
sub ecx, edx
test ecx, ecx
jle 0x100802d0
cmp byte [esp + ecx + 0x418], 0x5c
je 0x100802b4
dec ecx
test ecx, ecx
jg 0x100802a3
jmp 0x100802d0
lea eax, [esp + 0x419]
add eax, ecx
push eax
push 0x104
push 0x1086b668
call fcn.10095482
add esp, 0xc
lea edi, [esi + 0xdb]
push edi
push 0x1086b668
call fcn.100961ee
add esp, 8
test eax, eax
je 0x10080304
push 0
push str.Warning_
push 0x100bbbcc
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea eax, [esp + 0x14]
push eax
push edi
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
jne 0x1008033d
push 0
push str.Warning_
push 0x100bbbd0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [esi + 0x1dc]
cmp eax, dword [esp + 0x10]
je 0x10080365
push 0
push str.Warning_
push 0x100bbbd4
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [esi + 0x1e0], 0
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x100803e7
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea ecx, [esp + 0x14]
push ecx
lea eax, [esi + 0xfb]
push eax
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
je 0x10080453
mov eax, dword [esi + 0x1e0]
cmp eax, dword [esp + 0x10]
jne 0x10080453
lea eax, [esi + 0xfb]
push eax
call ebx
test eax, eax
jne 0x100803d9
push 0x10
push str.Error
push str.Plugin1_load_error_
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str.EntryProc
push eax
call edi
test eax, eax
je 0x100803e7
call eax
cmp dword [esi + 0x1e4], 0
je 0x1008047d
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea ecx, [esp + 0x14]
push ecx
lea eax, [esi + 0x11b]
push eax
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
je 0x100804e9
mov eax, dword [esi + 0x1e4]
cmp eax, dword [esp + 0x10]
jne 0x100804e9
lea eax, [esi + 0x11b]
push eax
call ebx
test eax, eax
jne 0x1008046f
push 0x10
push str.Error
push str.Plugin2_load_error_
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x10
push str.Error
push str.Plugin1_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str.EntryProc
push eax
call edi
test eax, eax
je 0x1008047d
call eax
cmp dword [esi + 0x1e8], 0
je 0x10080513
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea ecx, [esp + 0x14]
push ecx
lea eax, [esi + 0x13b]
push eax
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
je 0x1008057f
mov eax, dword [esi + 0x1e8]
cmp eax, dword [esp + 0x10]
jne 0x1008057f
lea eax, [esi + 0x13b]
push eax
call ebx
test eax, eax
jne 0x10080505
push 0x10
push str.Error
push str.Plugin3_load_error_
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x10
push str.Error
push str.Plugin2_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str.EntryProc
push eax
call edi
test eax, eax
je 0x10080513
call eax
cmp dword [esi + 0x1ec], 0
je 0x100805a9
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea ecx, [esp + 0x14]
push ecx
lea eax, [esi + 0x15b]
push eax
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
je 0x10080615
mov eax, dword [esi + 0x1ec]
cmp eax, dword [esp + 0x10]
jne 0x10080615
lea eax, [esi + 0x15b]
push eax
call ebx
test eax, eax
jne 0x1008059b
push 0x10
push str.Error
push str.Plugin4_load_error_
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x10
push str.Error
push str.Plugin3_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str.EntryProc
push eax
call edi
test eax, eax
je 0x100805a9
call eax
cmp dword [esi + 0x1f0], 0
je 0x1008063f
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea ecx, [esp + 0x14]
push ecx
lea eax, [esi + 0x17b]
push eax
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
je 0x1008068b
mov eax, dword [esi + 0x1f0]
cmp eax, dword [esp + 0x10]
jne 0x1008068b
lea eax, [esi + 0x17b]
push eax
call ebx
test eax, eax
jne 0x10080631
push 0x10
push str.Error
push str.Plugin5_load_error_
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x10
push str.Error
push str.Plugin4_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str.EntryProc
push eax
call edi
test eax, eax
je 0x1008063f
call eax
cmp dword [esi + 0x1f4], 0
je 0x10080704
lea ecx, [esp + 0x18]
call fcn.10004990
push ecx
lea ecx, [esp + 0x14]
push ecx
lea eax, [esi + 0x19b]
push eax
lea ecx, [esp + 0x24]
call fcn.10004ac0
test al, al
jne 0x100806a7
push 0
push str.Warning_
push 0x100bbcac
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x10
push str.Error
push str.Plugin5_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [esi + 0x1f4]
cmp eax, dword [esp + 0x10]
je 0x100806cf
push 0
push str.Warning_
push 0x100bbcb0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [esi + 0x19b]
push eax
call ebx
test eax, eax
jne 0x100806f6
push eax
push str.Warning_
push 0x100bbcb4
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push str.EntryProc
push eax
call edi
test eax, eax
je 0x10080704
call eax
mov ecx, esi
call fcn.100807a0
cmp dword [esi + 0x68], 0
jbe 0x10080785
xor edi, edi
push edi
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x10080785
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x128
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_Process32Next]
cmp eax, 1
jne 0x10080771
lea eax, [esi + 0xdb]
mov esi, eax
lea eax, [esp + 0x3c]
push esi
push eax
call fcn.100961ee
add esp, 8
lea ecx, [edi + 1]
test eax, eax
lea eax, [esp + 0x18]
cmovne ecx, edi
push eax
push ebx
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_Process32Next]
cmp eax, 1
je 0x10080744
mov esi, dword [esp + 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, dword [esi + 0x68]
jbe 0x10080785
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [esp + 0x524]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1008c0ce
mov esp, ebp
pop ebp
ret