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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3f0
push ebx
push esi
push edi
mov esi, ecx
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 3
cmp eax, 0x3e8
jae 0x100087f1
push dword [ebp + 8]
lea eax, [ebp - 0x3f0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x3f0]
push 0x10017ba4
push eax
call edi
lea eax, [ebp - 0x3f0]
lea ecx, [esi + 4]
push eax
mov dword [ebp - 4], ecx
call fcn.10011312
test eax, eax
je 0x100087f1
lea eax, [ebp - 0x3f0]
push 0x10017ba0
push eax
call edi
call fcn.10010035
lea ecx, [ebp - 0x3f0]
push ecx
mov ecx, dword [eax + 0xc]
neg ecx
sbb ecx, ecx
push 0
and ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
mov dword [esi + 0x58], eax
je 0x100087e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x100087dc
push 0xffffffffffffffff
lea ecx, [esi + 0x4c]
push dword [ebp + 8]
push 1
push 0xbf4
call fcn.1000fe85
test eax, eax
je 0x100087dc
cmp dword [esi + 0x54], 0
mov edi, dword [esi + 0x50]
je 0x100087d4
test edi, edi
je 0x100087d4
push 0x10018b40
call fcn.100109f1
push 1
call fcn.10010a64
call fcn.10010a19
push eax
call fcn.10010a64
mov eax, 0xffffff38
add esp, 0xc
mov dword [edi], eax
mov ebx, eax
mov eax, dword [edi + 0x3fc]
push 0x32
cdq
pop ecx
idiv ecx
xor ecx, ecx
cmp eax, ecx
mov dword [esi + 0x7c], eax
jne 0x100085c3
mov dword [esi + 0x7c], 1
mov dword [edi + 8], ecx
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x84], ecx
mov edx, dword [edi + 0x3fc]
cmp dword [edi + 0x40c], ecx
lea eax, [edx + eax*2]
mov dword [edi + 0xc], eax
jne 0x100085ec
mov ecx, dword [esi + 0x7c]
lea eax, [eax + ecx*2]
mov dword [edi + 0xc], eax
cmp dword [esi + 0x60], 0x3e8
jb 0x100087d2
lea ecx, [esi + 0x24]
push esi
call fcn.1000f98d
test eax, eax
je 0x100087cd
call fcn.1001012d
mov ecx, eax
call fcn.100080d4
test eax, eax
je 0x10008642
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x10008642
push str.ChangeWindowMessageFilter
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10008642
push 1
push 0x456
call eax
lea ecx, [esi + 8]
call fcn.10010a81
test eax, eax
je 0x100087be
lea eax, [edi + 0x10]
push 0x2f
push eax
mov dword [ebp - 8], eax
call fcn.1000ac56
pop ecx
test eax, eax
pop ecx
je 0x100087af
inc eax
push 0x105
mov dword [ebp + 8], eax
call fcn.1000b9fd
test eax, eax
pop ecx
mov dword [esi + 0x64], eax
je 0x1000879e
mov ecx, dword [0x1001894c]
push 0x104
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jbe 0x1000879e
push 0x5c
push dword [esi + 0x64]
call fcn.1000ac56
pop ecx
test eax, eax
pop ecx
je 0x1000879e
and byte [eax], 0
push 0x5c
push dword [esi + 0x64]
call fcn.1000ac56
pop ecx
pop ecx
push str._setups_
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push dword [esi + 0x64]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push dword [esi + 0x64]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push dword [ebp + 8]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, 0x104
sub ecx, eax
cmp ebx, ecx
jge 0x1000879e
mov eax, dword [esi + 0x64]
push dword [ebp + 8]
add eax, ebx
push eax
mov dword [esi + 0x68], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor ebx, ebx
cmp dword [edi + 0x410], ebx
jne 0x1000874c
lea eax, [ebp - 0x3f0]
push 0x3e8
push eax
push dword [esi + 0x68]
push str.Installerdownloaded
call fcn.1000d9dc
add esp, 0x10
test eax, eax
je 0x1000874c
lea eax, [ebp - 0x3f0]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x10008785
mov ecx, esi
call fcn.10009009
push 0x1f5
push dword [esi + 0x5c]
push 1
pop edi
push edi
push edi
call fcn.1000f967
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, esi
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x74], edi
call fcn.10008a5d
mov eax, edi
jmp 0x100087f3
push dword [esi + 0x64]
call fcn.1000e652
test eax, eax
pop ecx
je 0x10008753
mov ecx, esi
call fcn.10008e30
push 1
pop eax
jmp 0x100087f3
push dword [esi + 0x64]
call fcn.1000ba08
and dword [esi + 0x64], 0
and dword [esi + 0x68], 0
pop ecx
lea ecx, [esi + 8]
mov ebx, 0xffffff36
call fcn.10010c78
jmp 0x100087c3
mov ebx, 0xffffff35
lea ecx, [esi + 0x24]
call fcn.1000f9d4
jmp 0x100087d2
mov ebx, 0xffffff35
mov dword [edi], ebx
lea ecx, [esi + 0x4c]
call fcn.1001000a
push dword [esi + 0x58]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [esi + 0x58], 0
mov ecx, dword [ebp - 4]
call fcn.10011387
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4