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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x534
mov eax, dword [0x100ef018]
xor eax, esp
mov dword [esp + 0x530], eax
mov eax, dword [0x102bbee4]
push ebx
push esi
push edi
test al, 1
je 0x100a5ad0
push 0x102bbee5
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x100a5f1c
mov eax, dword [0x102bbee4]
test al, 2
je 0x100a5b15
push 0x102bbf25
lea eax, [esp + 0x14]
push str.XTEAM_MAIN_10405__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jne 0x100a5be7
lea eax, [esp + 0x10]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp dword [0x102bc0bc], 0
je 0x100a5bef
push 0x104
lea eax, [esp + 0x14]
push 0
push eax
call fcn.100b99d0
add esp, 0xc
lea eax, [esp + 0x10]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x100a5be7
lea ecx, [esp + 0x10]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a5b57
sub ecx, edx
test ecx, ecx
jle 0x100a5b8b
cmp byte [esp + ecx + 0x10], 0x5c
je 0x100a5b72
dec ecx
test ecx, ecx
jg 0x100a5b64
jmp 0x100a5b8b
lea eax, [esp + 0x11]
add eax, ecx
push eax
push 0x104
push 0x10898cd8
call fcn.100bf2ed
add esp, 0xc
push 0x102bbfbb
push 0x10898cd8
call fcn.100bfffa
add esp, 8
test eax, eax
jne 0x100a5be7
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bbfbb
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5bd3
mov eax, dword [0x102bc0bc]
cmp eax, dword [esp + 0xc]
je 0x100a5bef
push 0x10
push str.Error
push str.Main.exe_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [0x102bc0c0], 0
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x100a5c72
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bbfdb
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5cdf
mov eax, dword [0x102bc0c0]
cmp eax, dword [esp + 0xc]
jne 0x100a5cdf
push 0x102bbfdb
call esi
test eax, eax
jne 0x100a5c64
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 0x100e6964
push eax
call edi
test eax, eax
je 0x100a5c72
call eax
cmp dword [0x102bc0c4], 0
je 0x100a5d09
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bbffb
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5d76
mov eax, dword [0x102bc0c4]
cmp eax, dword [esp + 0xc]
jne 0x100a5d76
push 0x102bbffb
call esi
test eax, eax
jne 0x100a5cfb
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 0x100e6964
push eax
call edi
test eax, eax
je 0x100a5d09
call eax
cmp dword [0x102bc0c8], 0
je 0x100a5da0
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bc01b
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5e0d
mov eax, dword [0x102bc0c8]
cmp eax, dword [esp + 0xc]
jne 0x100a5e0d
push 0x102bc01b
call esi
test eax, eax
jne 0x100a5d92
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 0x100e6964
push eax
call edi
test eax, eax
je 0x100a5da0
call eax
cmp dword [0x102bc0cc], 0
je 0x100a5e37
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bc03b
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5ea4
mov eax, dword [0x102bc0cc]
cmp eax, dword [esp + 0xc]
jne 0x100a5ea4
push 0x102bc03b
call esi
test eax, eax
jne 0x100a5e29
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 0x100e6964
push eax
call edi
test eax, eax
je 0x100a5e37
call eax
cmp dword [0x102bc0d0], 0
je 0x100a5ece
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bc05b
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5f24
mov eax, dword [0x102bc0d0]
cmp eax, dword [esp + 0xc]
jne 0x100a5f24
push 0x102bc05b
call esi
test eax, eax
jne 0x100a5ec0
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 0x100e6964
push eax
call edi
test eax, eax
je 0x100a5ece
call eax
cmp dword [0x102bc0d4], 0
je 0x100a5f4e
lea ecx, [esp + 0x138]
call fcn.100049f0
push ecx
lea eax, [esp + 0x10]
push eax
push 0x102bc07b
lea ecx, [esp + 0x144]
call fcn.10004b20
test al, al
je 0x100a5fcb
mov eax, dword [0x102bc0d4]
cmp eax, dword [esp + 0xc]
jne 0x100a5fcb
push 0x102bc07b
call esi
test eax, eax
jne 0x100a5f40
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]
push 0x100e6964
push eax
call edi
test eax, eax
je 0x100a5f4e
call eax
call fcn.100a6000
cmp dword [0x102bbf48], 0
jbe 0x100a5fe7
xor esi, esi
push esi
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov edi, eax
cmp edi, 0xffffffff
je 0x100a5fe7
mov ebx, dword [sym.imp.KERNEL32.dll_Process32Next]
lea eax, [esp + 0x10]
push eax
push edi
mov dword [esp + 0x18], 0x128
call ebx
cmp eax, 1
jne 0x100a5fb4
nop dword [eax]
lea eax, [esp + 0x34]
push 0x102bbfbb
push eax
call fcn.100bfffa
add esp, 8
test eax, eax
jne 0x100a5fa7
inc esi
lea eax, [esp + 0x10]
push eax
push edi
call ebx
cmp eax, 1
je 0x100a5f90
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, dword [0x102bbf48]
jbe 0x100a5fe7
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x10
push str.Error
push str.Camera_CRC_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [esp + 0x53c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b7755
mov esp, ebp
pop ebp
ret