Function at 0x418580
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9e8
mov eax, dword [0x423064]
xor eax, ebp
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4185a4
xor eax, eax
jmp 0x418851
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov dword [ebp - 0x10], 8
mov dword [ebp - 0xc], 0x637
lea edx, [ebp - 0x10]
push edx
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x420534
mov eax, dword [ebp + 0x10]
push eax
call fcn.00401f06
add esp, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x14], 0
je 0x418721
push 0x420538
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00401120
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4186aa
mov edx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax - 1]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax]
cmp ecx, 0x20
jne 0x41864c
mov edx, dword [ebp - 0x1c]
mov byte [edx], 0
mov eax, dword [ebp - 0x1c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x418630
cmp dword [ebp - 4], 0
jne 0x4186a8
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00418550
add esp, 4
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
push edx
call fcn.00401cb8
add esp, 4
add eax, 1
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00401e11
add esp, 4
mov dword [ebp - 0x9dc], eax
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00401d88
add esp, 8
jmp 0x41870a
push 0x42053c
mov eax, dword [ebp - 0x14]
push eax
call fcn.00401120
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x41870a
mov ecx, dword [ebp - 0x18]
add ecx, 2
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 8], 0
jne 0x41870a
mov edx, dword [ebp - 0x18]
push edx
call fcn.00401b30
add esp, 4
add eax, 1
push eax
call fcn.00401e11
add esp, 4
mov dword [ebp - 0x9e0], eax
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00401bc0
add esp, 8
push 0x420540
push 0
call fcn.00401f06
add esp, 8
mov dword [ebp - 0x14], eax
jmp 0x4185eb
cmp dword [ebp - 4], 0
je 0x418831
push 0x208
push 0
lea eax, [ebp - 0x230]
push eax
call fcn.00401ce0
add esp, 0xc
push str.kyoceramita_kmstmnw300_configtool_
push 0x104
lea ecx, [ebp - 0x230]
push ecx
call fcn.00402044
add esp, 0xc
mov edx, dword [ebp - 4]
push edx
push 0x104
lea eax, [ebp - 0x230]
push eax
call fcn.00401fc7
add esp, 0xc
lea ecx, [ebp - 0x230]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x418819
lea ecx, [ebp - 0x9d0]
call fcn.00414f80
mov edx, dword [ebp - 0x18]
push edx
call fcn.00418550
add esp, 4
push eax
lea ecx, [ebp - 0x9d0]
call fcn.00413cf0
cmp dword [ebp - 8], 0
je 0x4187cf
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.004143f0
lea ecx, [ebp - 0x9d0]
call fcn.00413b60
mov dword [ebp - 0x9d8], eax
mov ecx, dword [ebp - 0x9d8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x9d8]
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x9d4], eax
lea ecx, [ebp - 0x9d0]
call fcn.004193f0
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x9d0]
call fcn.00414d90
mov edx, dword [ebp - 4]
mov dword [ebp - 0x9e4], edx
mov eax, dword [ebp - 0x9e4]
push eax
call fcn.00401ac9
add esp, 4
cmp dword [ebp - 8], 0
je 0x41884f
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9e8]
push edx
call fcn.00401ac9
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.00401aba
mov esp, ebp
pop ebp
ret 0x10