Function at 0x411ddc
Capabilities:
Check for time delay via gettickcount
Check mutex on windows
Get common file path

Disassembly:
mov edi, edi
push ebp
sub esp, 0x70
mov eax, 0x429726
call fcn.0041bd3c
sub esp, 0x508
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x1dc]
call fcn.0040de8d
mov dword [ebp - 4], ebx
cmp byte [ebp - 0x1ac], bl
jne 0x411e19
push 0xfffffffffffffffd
pop ebx
jmp 0x4122d9
lea ecx, [ebp - 0x1dc]
call fcn.00414140
mov byte [0x43ad1c], al
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], ebx
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x2c]
call fcn.0040f6fc
mov byte [ebp - 4], 2
call fcn.00413a9f
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp + 0x2c]
call fcn.00419c97
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax]
mov dword [0x43ad20], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x28], 0xf
mov dword [ebp + 0x24], ebx
mov byte [ebp + 0x14], bl
mov byte [ebp - 4], 3
lea eax, [ebp - 0x1cc]
cmp dword [ebp - 0x1b8], 0x10
cmovae eax, dword [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00418d65
pop ecx
pop ecx
mov byte [ebp - 4], 4
lea eax, [ebp - 0x514]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x411f30
cmp byte [ebp - 0x514], 0
jne 0x411ec4
mov eax, ebx
jmp 0x411ed1
lea eax, [ebp - 0x514]
push eax
call fcn.0041b4b0
pop ecx
push eax
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp + 0x14]
call fcn.00406721
jmp 0x411f29
lea eax, [ebp + 0x14]
mov edx, dword [ebp + 0x28]
cmp edx, 0x10
mov esi, dword [ebp + 0x14]
cmovae eax, esi
cmp byte [eax + ecx - 1], 0x5c
jne 0x411f36
lea eax, [ecx - 1]
push eax
push ebx
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp + 0x14]
call fcn.00409b2b
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp + 0x14]
call fcn.0040e4d1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x350]
call fcn.0040165f
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x411ee3
mov edx, dword [ebp + 0x28]
mov esi, dword [ebp + 0x14]
lea eax, [ebp + 0x14]
cmp edx, 0x10
cmovae eax, esi
push 1
push eax
call fcn.004180ef
pop ecx
pop ecx
test al, al
jne 0x411f5f
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp + 0x14]
call fcn.0040668d
push dword [ebp + 0x7c]
lea ecx, [ebp - 0x260]
call fcn.004014e6
mov byte [ebp - 4], 6
push str.args
lea ecx, [ebp - 0x308]
call fcn.004014e6
mov byte [ebp - 4], 7
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x308]
call fcn.0040165f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x260]
call fcn.0040165f
push str.temp
lea ecx, [ebp - 0x338]
call fcn.004014e6
mov byte [ebp - 4], 8
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x338]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x338]
call fcn.0040165f
push str.path
lea ecx, [ebp - 0x320]
call fcn.004014e6
mov byte [ebp - 4], 9
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x320]
call fcn.0040165f
push 0x1a
lea eax, [ebp - 0x3f8]
push eax
call fcn.00418ac4
pop ecx
pop ecx
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x412044
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004014e6
mov byte [ebp - 4], 0xb
push str.appdata
lea ecx, [ebp - 0x290]
call fcn.004014e6
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x290]
call fcn.0040165f
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f0]
call fcn.0040165f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3f8]
call fcn.0040165f
push 0x1c
lea eax, [ebp - 0x380]
push eax
call fcn.00418ac4
pop ecx
pop ecx
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 0x10
jb 0x4120c7
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x248]
call fcn.004014e6
mov byte [ebp - 4], 0xe
push str.appdata_local
lea ecx, [ebp - 0x2c0]
call fcn.004014e6
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2c0]
call fcn.0040165f
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x248]
call fcn.0040165f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x380]
call fcn.0040165f
push 0x26
lea eax, [ebp - 0x3e0]
push eax
call fcn.00418ac4
pop ecx
pop ecx
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x41214a
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.004014e6
mov byte [ebp - 4], 0x11
push str.program_files
lea ecx, [ebp - 0x278]
call fcn.004014e6
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x278]
call fcn.0040165f
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2a8]
call fcn.0040165f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3e0]
call fcn.0040165f
lea eax, [ebp - 0x1f4]
push eax
call fcn.00416acd
pop ecx
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1f4]
cmp dword [ebp - 0x1e0], 0x10
cmovae eax, dword [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x230]
call fcn.004014e6
mov byte [ebp - 4], 0x14
push str.uniqueid
lea ecx, [ebp - 0x2d8]
call fcn.004014e6
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2d8]
call fcn.0040165f
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x230]
call fcn.0040165f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1f4]
call fcn.0040165f
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x218]
call fcn.0040165f
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x14]
call fcn.0040165f
lea ecx, [ebp - 0x1dc]
call fcn.00413e17
test al, al
je 0x4122ef
mov eax, dword [ebp - 0x1d0]
mov esi, dword [eax + 4]
test esi, esi
je 0x4122ef
mov eax, dword [esi + 0xc]
test eax, eax
je 0x412285
mov esi, eax
test esi, esi
jne 0x412278
test esi, esi
je 0x4122ef
test dword [esi], 0x10000
je 0x4122ef
push str.USER32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x4122ef
push str.MessageBoxA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4122ef
push 4
push str.Question
push dword [esi + 0x1c]
push ebx
call eax
cmp eax, 6
je 0x4122ef
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x2c]
call fcn.0040fa1b
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x50]
call fcn.004113f0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call fcn.0040e468
mov eax, ebx
jmp 0x4132b5
mov byte [ebp - 4], 0x16
mov dword [ebp + 0x44], ebx
call fcn.00413e2f
cmp eax, 2
jae 0x41231f
push str.Local11287
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x41231f
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp + 0x5f], bl
cmp byte [ebp + 0x5f], 0
je 0x41235d
mov esi, ebx
mov dword [ebp + 8], esi
mov edi, dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp esi, 0x3af
jge 0x41235d
push ebx
push ebx
push ebx
push ebx
push ebx
call edi
push 0x3af
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
inc esi
mov dword [ebp + 8], esi
jmp 0x412333
mov byte [ebp + 0x63], bl
cmp byte [ebp + 0x63], 0
je 0x412378
push ebx
push ebx
call dword [sym.imp.USER32.dll_IsDialogMessageA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
call fcn.00413e2f
cmp eax, 2
jae 0x4123a2
push str.344344
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x120], eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
test eax, eax
je 0x4123a8
push eax
call edi
jmp 0x4123a8
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call fcn.00413e2f
cmp eax, 3
jae 0x4123d4
push str.Global957
push ebx
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 0x198], eax
test eax, eax
je 0x4123d4
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [ebp + 0x40], ebx
mov byte [ebp + 0x5e], bl
cmp byte [ebp + 0x5e], 0
je 0x412410
mov esi, ebx
mov dword [ebp - 0x34], esi
cmp esi, 0x393
jge 0x412410
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
push 0x393
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
inc esi
jmp 0x4123e2
call fcn.00413e2f
cmp eax, 3
jae 0x41243c
push str.Global96
push ebx
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 0x1a0], eax
test eax, eax
je 0x41243c
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.00413e2f
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp eax, 2
jae 0x412465
push ebx
push 1
push 1
push ebx
call esi
mov dword [ebp - 0x184], eax
test eax, eax
je 0x412465
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00413e2f
cmp eax, 2
jae 0x41248a
push str.Local11302
push ebx
push ebx
push ebx
call esi
mov dword [ebp - 0x16c], eax
test eax, eax
je 0x41248a
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.00413e2f
cmp eax, 2
jae 0x4124b7
push 2
call fcn.0041a976
pop ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x13c], eax
test eax, eax
je 0x4124b7
mov byte [eax + 1], 0xfb
mov dword [ebp - 0x74], eax
push eax
call fcn.0040c4f8
pop ecx
call fcn.00413e2f
cmp eax, 2
jae 0x4124d9
push str.422422
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x194], eax
test eax, eax
je 0x4124d9
push eax
call edi
call fcn.00413e2f
cmp eax, 2
jae 0x412509
push 2
call fcn.0041a976
pop ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x144], eax
test eax, eax
je 0x412509
mov byte [eax + 1], 0x26
mov dword [ebp - 0x84], eax
push eax
call fcn.0040c4f8
pop ecx
mov byte [ebp + 0x5c], bl
cmp byte [ebp + 0x5c], 0
je 0x412524
push ebx
push ebx
call dword [sym.imp.USER32.dll_IsDialogMessageA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
call fcn.00413e2f
cmp eax, 2
jae 0x412547
push ebx
push 1
push 1
push ebx
call esi
mov dword [ebp - 0x174], eax
test eax, eax
je 0x412547
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00413e2f
cmp eax, 2
jae 0x41255e
mov dword [ebp - 0x3c], ebx
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov byte [ebp + 0x61], bl
cmp byte [ebp + 0x61], 0
je 0x412594
mov esi, ebx
mov edi, 0x130
mov dword [ebp - 0x44], esi
cmp esi, edi
jge 0x412594
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
inc esi
jmp 0x41256e
lea eax, [ebp - 0x1dc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 4]
mov esi, ebx
mov dword [ebp + 0xc], esi
mov dword [ebp + 0x6c], esi
mov dword [ebp + 0x40], edi
test edi, edi
je 0x412a2b
lea eax, [esi + 1]
push eax
lea ecx, [ebp + 0x50]
call fcn.0041401d
call fcn.00413e2f
cmp eax, 3
jae 0x4125dc
push str.Local212
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x8c], eax
call fcn.00413e2f
cmp eax, 2
jae 0x412607
push str.Local11314
push 1
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x412607
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.00413e2f
cmp eax, 2
jae 0x41261e
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call fcn.00413e2f
cmp eax, 3
jae 0x41264a
push str.Global668
push ebx
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 0x94], eax
test eax, eax
je 0x41264a
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.00413e2f
cmp eax, 2
jae 0x412673
push str.Local11317
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x18c], eax
test eax, eax
je 0x412673
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.00413e2f
cmp eax, 2
jae 0x412699
push str.555555
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x412699
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
lea ecx, [ebp + 0x50]
call fcn.00411496
mov esi, eax
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp + 0x6c]
inc eax
mov dword [esi + 4], eax
mov dword [esi], edi
test dword [edi], 0x800
je 0x4127fb
call fcn.00413e2f
cmp eax, 2
jae 0x4126f2
push 2
call fcn.0041a976
pop ecx
mov dword [ebp - 0x154], eax
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x4126f2
mov byte [eax + 1], 0x76
mov dword [ebp - 0x17c], eax
push eax
call fcn.0040c4f8
pop ecx
call fcn.00413e2f
cmp eax, 3
jae 0x41271e
push str.Global104
push ebx
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 0xac], eax
test eax, eax
je 0x41271e
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.00413e2f
cmp eax, 2
jae 0x412743
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x15c], eax
test eax, eax
je 0x412743
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00413e2f
cmp eax, 2
jae 0x41276c
push str.Local11328
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x41276c
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.00413e2f
cmp eax, 2
jae 0x412783
mov dword [ebp - 0x2c], ebx
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call fcn.00413e2f
cmp eax, 2
jae 0x4127a9
push str.602602
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x19c], eax
test eax, eax
je 0x4127a9
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
call fcn.00415b8a
test eax, eax
jne 0x4127bb
call fcn.00415c77
test eax, eax
je 0x4127fb
or dword [edi], 0x80000000
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x48], 0xf
mov byte [ebp + 0x4f], bl
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x5c], bl
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x2c]
call fcn.00419c97
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x5c]
call fcn.0040165f
mov esi, dword [ebp + 0x6c]
jmp 0x412a22
test dword [edi], 0x1000
je 0x4128f4
call fcn.00413e2f
cmp eax, 2
jae 0x41281e
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call fcn.00413e2f
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp eax, 2
jae 0x41284a
push str.430430
call edi
mov dword [ebp - 0xbc], eax
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
test eax, eax
je 0x412850
push eax
call esi
jmp 0x412850
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call fcn.00413e2f
cmp eax, 2
jae 0x41286e
push str.126126
call edi
mov dword [ebp - 0x164], eax
test eax, eax
je 0x41286e
push eax
call esi
call fcn.00413e2f
cmp eax, 2
jae 0x41288c
push str.293293
call edi
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x41288c
push eax
call esi
mov byte [ebp + 0x64], bl
cmp byte [ebp + 0x64], 0
je 0x4128c2
mov esi, ebx
mov edi, 0x2f7
mov dword [ebp - 0x30], esi
cmp esi, edi
jge 0x4128c2
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
inc esi
jmp 0x41289c
cmp byte [0x438d8c], 0
jne 0x4128cf
mov ecx, ebx
jmp 0x4128dc
push 0x438d8c
call fcn.0041b4b0
pop ecx
mov ecx, eax
mov esi, dword [ebp - 0x1c]
add esi, 0x1c
push ecx
push 0x438d8c
mov ecx, esi
call fcn.00406721
jmp 0x41297e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12c], eax
push ebx
lea eax, [ebp + 0x2c]
push eax
push edi
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0040e811
mov byte [ebp - 4], 0x18
add esi, 0x1c
push eax
mov ecx, esi
call fcn.0040e4d1
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x3b0]
call fcn.0040165f
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x2c], ebx
jne 0x412976
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._ec_08x__extract_failed
push dword [ebp + 0x10]
call fcn.00413e4d
add esp, 0xc
test byte [edi], 0x20
je 0x41297e
lea ecx, [ebp - 0x200]
call fcn.0041bbe7
push 0x435158
lea eax, [ebp - 0x200]
push eax
call fcn.0041bcde
mov eax, dword [edi]
and eax, 0x10
or dword [ebp + 0x44], eax
push esi
lea ecx, [ebp + 0x2c]
call fcn.00419c97
call fcn.00413e2f
cmp eax, 2
jae 0x4129ba
push 2
call fcn.0041a976
pop ecx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x128], eax
test eax, eax
je 0x4129ba
mov byte [eax + 1], 0x69
mov dword [ebp - 0xd4], eax
push eax
call fcn.0040c4f8
pop ecx
mov byte [ebp + 0x60], bl
cmp byte [ebp + 0x60], 0
je 0x4129f0
mov esi, ebx
mov edi, 0x29e
mov dword [ebp - 0x40], esi
cmp esi, edi
jge 0x4129f0
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
inc esi
jmp 0x4129ca
call fcn.00413e2f
cmp eax, 3
jae 0x412a1c
push str.Global391
push ebx
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 0x138], eax
test eax, eax
je 0x412a1c
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edi, dword [ebp + 0x40]
mov esi, dword [ebp + 0xc]
mov edi, dword [edi + 0xc]
inc esi
jmp 0x4125a2
mov dword [ebp + 0x68], ebx
mov esi, dword [ebp + 0x50]
mov dword [ebp - 0xdc], esi
mov edi, esi
mov dword [ebp + 0x68], edi
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x6c], eax
mov dword [ebp - 0x140], eax
cmp edi, eax
je 0x412cd3
mov dword [ebp - 0x60], edi
mov eax, dword [edi]
test byte [eax], 2
je 0x412cbf
mov dword [ebp - 0x148], edi
cmp dword [edi + 0x2c], ebx
je 0x412cbf
mov dword [ebp - 0xec], edi
test dword [eax], 0x80000000
jne 0x412cbf
mov dword [ebp - 0x150], edi
test dword [eax], 0x800
je 0x412aa7
call fcn.00415b8a
test eax, eax
jne 0x412cbf
call fcn.00415c77
test eax, eax
jne 0x412cbf
mov dword [ebp - 0xf4], edi
push 1
lea eax, [ebp + 0x2c]
push eax
mov eax, dword [edi]
push dword [eax + 0x1c]
lea eax, [ebp - 0x410]
push eax
call fcn.00416fc4
add esp, 0x10
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x158], edi
push eax
lea ecx, [edi + 0x34]
call fcn.0040e4d1
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x410]
call fcn.0040165f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xfc], eax
mov byte [ebp + 0x62], bl
mov esi, dword [sym.imp.USER32.dll_IsDialogMessageA]
cmp byte [ebp + 0x62], 0
je 0x412b16
push ebx
push ebx
call esi
push ebx
push ebx
push ebx
push ebx
mov edi, dword [sym.imp.USER32.dll_SetDlgItemInt]
call edi
jmp 0x412b1c
mov edi, dword [sym.imp.USER32.dll_SetDlgItemInt]
call fcn.00413e2f
cmp eax, 2
jae 0x412b33
mov dword [ebp - 0x24], ebx
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov byte [ebp + 0x5d], bl
cmp byte [ebp + 0x5d], 0
je 0x412b46
push ebx
push ebx
call esi
push ebx
push ebx
push ebx
push ebx
call edi
call fcn.00413e2f
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp eax, 2
jae 0x412b71
push ebx
push ebx
push ebx
push ebx
call esi
mov dword [ebp - 0x160], eax
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x412b77
push eax
call edi
jmp 0x412b77
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00413e2f
cmp eax, 3
jae 0x412b94
push str.Local489
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x104], eax
call fcn.00413e2f
cmp eax, 2
jae 0x412bb3
push ebx
push 1
push 1
push ebx
call esi
mov dword [ebp - 0x168], eax
test eax, eax
je 0x412bb3
push eax
call edi
mov byte [ebp + 0x66], bl
cmp byte [ebp + 0x66], 0
je 0x412bce
push ebx
push ebx
call dword [sym.imp.USER32.dll_IsDialogMessageA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
call fcn.00413e2f
cmp eax, 3
jae 0x412bfa
push str.Global171
push ebx
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov dword [ebp - 0x10c], eax
test eax, eax
je 0x412bfa
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edi, dword [ebp + 0x68]
mov dword [ebp - 0x170], edi
push edi
call fcn.004132c7
pop ecx
mov dword [ebp - 0x114], edi
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [ebp - 0x178], eax
push eax
lea eax, [ebp - 0x3c8]
push eax
call fcn.004141a5
mov ebx, eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x11c], edi
push dword [edi + 4]
lea eax, [ebp - 0x398]
push eax
call fcn.00414158
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x180], esi
mov byte [ebp - 4], 0x1b
push str.pid:
lea ecx, [ebp - 0x368]
call fcn.004014e6
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 0x1c
push ebx
push 0xffffffffffffffff
xor ebx, ebx
push ebx
push esi
mov ecx, eax
call fcn.004079dc
push eax
lea ecx, [ebp + 0x2c]
call fcn.0041a44f
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x368]
call fcn.0040165f
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x398]
call fcn.0040165f
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x3c8]
call fcn.0040165f
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x6c], eax
mov esi, dword [ebp + 0x50]
jmp 0x412cc2
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0x188], edi
add edi, 0x50
mov dword [ebp + 0x68], edi
jmp 0x412a42
cmp dword [ebp + 0x44], 0
je 0x412f95
call fcn.00413e2f
cmp eax, 2
jae 0x412cf8
mov dword [ebp - 0x28], ebx
lea eax, [ebp - 0x28]
push eax
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call edi
jmp 0x412cfe
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call fcn.00413e2f
cmp eax, 2
jae 0x412d11
mov dword [ebp + 4], ebx
lea eax, [ebp + 4]
push eax
call edi
call fcn.00413e2f
cmp eax, 2
jae 0x412d44
push 2
call fcn.0041a976
pop ecx
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x130], eax
test eax, eax
je 0x412d44
mov byte [eax + 1], 0xb
mov dword [ebp - 0x134], eax
push eax
call fcn.0040c4f8
pop ecx
call fcn.00413e2f
cmp eax, 2
jae 0x412d6a
push str.Local11363
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x412d6a
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
call fcn.00413e2f
cmp eax, 3
jae 0x412d84
push str.Local408
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x68], eax
call fcn.00413e2f
cmp eax, 3
jae 0x412d9e
push str.Local247
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x70], eax
call fcn.00413e2f
cmp eax, 3
jae 0x412db8
push str.Local337
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x80], esi
mov edi, esi
mov dword [ebp + 0x68], edi
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0x88], eax
cmp edi, eax
je 0x412f3b
mov dword [ebp - 0x90], edi
cmp dword [edi + 8], ebx
je 0x412f2a
mov dword [ebp - 0x98], edi
mov eax, dword [edi]
test byte [eax], 8
je 0x412f27
call fcn.00413e2f
cmp eax, 3
jae 0x412e0e
push str.Local696
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0xa0], eax
call fcn.00413e2f
push 2
pop esi
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp eax, esi
jae 0x412e39
push ebx
push 1
push 1
push ebx
call edi
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x412e39
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00413e2f
cmp eax, esi
jae 0x412e5f
push str.Local11377
push 1
push 1
push ebx
call edi
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x412e5f
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp + 0x65], bl
cmp byte [ebp + 0x65], 0
je 0x412e92
mov edi, ebx
mov dword [ebp], edi
cmp edi, 0xc
jge 0x412e92
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
push 0xc
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
inc edi
jmp 0x412e6a
call fcn.00413e2f
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp eax, esi
jae 0x412ebc
push str.Local11379
push ebx
push ebx
push ebx
call edi
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x412ebc
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov byte [ebp + 0x67], bl
cmp byte [ebp + 0x67], 0
je 0x412ed7
push ebx
push ebx
call dword [sym.imp.USER32.dll_IsDialogMessageA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
call fcn.00413e2f
cmp eax, esi
jae 0x412ef9
push ebx
push 1
push 1
push ebx
call edi
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x412ef9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp + 0x68]
mov dword [ebp - 0xc8], edi
push 0xffffffffffffffff
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xd0], edi
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x6c], eax
mov esi, dword [ebp + 0x50]
jmp 0x412f2a
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0xd8], edi
add edi, 0x50
mov dword [ebp + 0x68], edi
jmp 0x412dc3
mov dword [ebp - 0xe0], esi
mov dword [ebp + 0x68], esi
mov dword [ebp - 0xe8], eax
cmp esi, eax
je 0x412f95
mov dword [ebp - 0xf0], esi
mov eax, dword [esi]
test byte [eax], 0x10
je 0x412f84
mov dword [ebp - 0xf8], esi
cmp dword [esi + 0x2c], ebx
je 0x412f84
mov dword [ebp - 0x100], esi
lea eax, [esi + 0x1c]
mov dword [ebp - 0x108], eax
cmp dword [eax + 0x14], 0x10
jb 0x412f7d
mov eax, dword [eax]
push eax
call fcn.00411540
pop ecx
mov dword [ebp - 0x110], esi
add esi, 0x50
mov dword [ebp + 0x68], esi
mov eax, dword [ebp + 0x6c]
jmp 0x412f44
mov dword [ebp - 4], 2
mov esi, ebx
jmp 0x413283
call fcn.004166f3
call fcn.0041a286
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x2c]
call fcn.0040fa1b
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x50]
call fcn.004113f0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call fcn.0040e468
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret