Function at 0x10002a0d
Capabilities:
Check mutex on windows
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3f4
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
push edi
push dword [ebp + 8]
mov esi, ecx
call ebx
add eax, 3
cmp eax, 0x3e8
jae 0x10002d0a
push dword [ebp + 8]
lea eax, [ebp - 0x3f4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x3f4]
push 0x10040260
push eax
call edi
lea eax, [ebp - 0x3f4]
lea ecx, [esi + 4]
push eax
mov dword [ebp - 8], ecx
call fcn.10022376
test eax, eax
je 0x10002d0a
lea eax, [ebp - 0x3f4]
push 0x1004025c
push eax
call edi
lea eax, [ebp - 0x3f4]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
mov dword [esi + 0x54], eax
je 0x10002d02
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10002cf5
push 0xffffffffffffffff
lea ecx, [esi + 0x48]
push dword [ebp + 8]
push 1
push 0xbf4
call fcn.1001fcc1
test eax, eax
je 0x10002cf5
cmp dword [esi + 0x50], 0
mov edi, dword [esi + 0x4c]
je 0x10002ced
test edi, edi
je 0x10002ced
push 0x10044160
call fcn.10021a5a
mov eax, 0xffffff38
pop ecx
mov dword [edi], eax
mov dword [ebp + 8], eax
mov eax, dword [edi + 0x3fc]
push 0x32
cdq
pop ecx
idiv ecx
xor ecx, ecx
cmp eax, ecx
mov dword [esi + 0x78], eax
jne 0x10002b0f
mov dword [esi + 0x78], 1
mov dword [edi + 8], ecx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x80], ecx
mov edx, dword [edi + 0x3fc]
cmp dword [edi + 0x40c], ecx
lea eax, [edx + eax*2]
mov dword [edi + 0xc], eax
jne 0x10002b38
mov ecx, dword [esi + 0x78]
lea eax, [eax + ecx*2]
mov dword [edi + 0xc], eax
cmp dword [esi + 0x5c], 0x3e8
jb 0x10002ce8
lea ecx, [esi + 0x24]
push esi
call fcn.1001fa3e
test eax, eax
je 0x10002ce1
lea ecx, [esi + 8]
call fcn.10021af9
test eax, eax
je 0x10002cd0
lea eax, [edi + 0x10]
push 0x2f
push eax
mov dword [ebp - 4], eax
call fcn.1001401f
pop ecx
test eax, eax
pop ecx
je 0x10002cbf
inc eax
push 0x105
mov dword [ebp + 8], eax
call fcn.1001ad44
test eax, eax
pop ecx
mov dword [esi + 0x60], eax
je 0x10002cae
mov ecx, dword [0x10043d8c]
push 0x104
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jbe 0x10002cae
push 0x5c
push dword [esi + 0x60]
call fcn.1001401f
pop ecx
test eax, eax
pop ecx
je 0x10002cae
and byte [eax], 0
push 0x5c
push dword [esi + 0x60]
call fcn.1001401f
pop ecx
pop ecx
push str._setups_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push dword [esi + 0x60]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push dword [esi + 0x60]
call ebx
push dword [ebp + 8]
mov dword [ebp - 0xc], eax
call ebx
mov ecx, 0x104
sub ecx, eax
mov eax, dword [ebp - 0xc]
cmp eax, ecx
jge 0x10002cae
mov ecx, dword [esi + 0x60]
push dword [ebp + 8]
add eax, ecx
push eax
mov dword [esi + 0x64], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ebx, ebx
cmp dword [edi + 0x410], ebx
jne 0x10002c5c
lea eax, [ebp - 0x3f4]
push 0x3e8
push eax
push dword [esi + 0x64]
push str.bardownloaded
call fcn.1001ffa4
add esp, 0x10
test eax, eax
je 0x10002c5c
lea eax, [ebp - 0x3f4]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x10002c95
mov ecx, esi
call fcn.1000351c
push 0x1f5
push dword [esi + 0x58]
push 1
pop edi
push edi
push edi
call fcn.1001fa18
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, esi
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x70], edi
call fcn.10002f70
mov eax, edi
jmp 0x10002d0c
push dword [esi + 0x60]
call fcn.10020c5e
test eax, eax
pop ecx
je 0x10002c63
mov ecx, esi
call fcn.10003343
push 1
pop eax
jmp 0x10002d0c
push dword [esi + 0x60]
call fcn.1001ad4f
and dword [esi + 0x60], 0
and dword [esi + 0x64], 0
pop ecx
lea ecx, [esi + 8]
mov dword [ebp + 8], 0xffffff36
call fcn.10021cdc
jmp 0x10002cd7
mov dword [ebp + 8], 0xffffff35
lea ecx, [esi + 0x24]
call fcn.1001fa85
jmp 0x10002ce8
mov dword [ebp + 8], 0xffffff35
mov eax, dword [ebp + 8]
mov dword [edi], eax
lea ecx, [esi + 0x48]
call fcn.1001fe39
push dword [esi + 0x54]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [esi + 0x54], 0
mov ecx, dword [ebp - 8]
call fcn.100223de
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4