Function at 0x42e950
Capabilities:
Check mutex on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x6784
call fcn.0040ff90
mov eax, dword [0x43d064]
xor eax, ebp
mov dword [ebp - 8], eax
push 8
push 0
lea eax, [ebp - 0x676c]
push eax
call fcn.00401f60
add esp, 0xc
mov dword [ebp - 0x676c], 8
mov dword [ebp - 0x6768], 0xff
lea ecx, [ebp - 0x676c]
push ecx
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov dword [ebp - 0x675c], 0xffffffff
push str.Kyocera_FS_1300D_KX
push 0x104
lea edx, [ebp - 0x580]
push edx
call fcn.004023ae
add esp, 0xc
push 0x208
push 0
lea eax, [ebp - 0x6528]
push eax
call fcn.00401f60
add esp, 0xc
push 0x208
push 0
lea ecx, [ebp - 0x6738]
push ecx
call fcn.00401f60
add esp, 0xc
mov dword [0x43f2bc], 0
push 0x208
push 0
lea edx, [ebp - 0x790]
push edx
call fcn.00401f60
add esp, 0xc
mov eax, dword [ebp + 0x10]
push eax
call fcn.00402006
add esp, 4
test eax, eax
ja 0x42ea21
xor eax, eax
jmp 0x42f0b6
lea ecx, [ebp - 0x652c]
push ecx
lea edx, [ebp - 0x79c]
push edx
push 0
push 0x2001f
push 0
push 0
push 0
push 0x439638
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jl 0x42ea88
mov eax, dword [ebp + 0x10]
push eax
call fcn.00402006
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 1
push 0
push str.cmdline
mov eax, dword [ebp - 0x79c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, dword [ebp - 0x79c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x6764], 0x13
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x6758], edx
push 0x439690
mov eax, dword [ebp + 0x10]
push eax
call fcn.00401050
add esp, 8
mov dword [ebp - 0x6758], eax
cmp dword [ebp - 0x6758], 0
jne 0x42eadf
push 0x439698
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00401050
add esp, 8
mov dword [ebp - 0x6758], eax
cmp dword [ebp - 0x6758], 0
je 0x42ec54
mov edx, dword [ebp - 0x6758]
add edx, 6
mov dword [ebp - 0x6758], edx
mov eax, dword [ebp - 0x6758]
mov dword [ebp - 0x631c], eax
mov ecx, dword [ebp - 0x6758]
movzx edx, word [ecx]
cmp edx, 0x22
jne 0x42ebda
lea eax, [ebp - 0x580]
mov dword [ebp - 0x6770], eax
mov ecx, dword [ebp - 0x631c]
add ecx, 2
mov dword [ebp - 0x631c], ecx
mov edx, dword [ebp - 0x631c]
movzx eax, word [edx]
cmp eax, 0x22
je 0x42ebcd
mov ecx, dword [ebp - 0x631c]
movzx edx, word [ecx]
test edx, edx
je 0x42ebcd
mov eax, dword [ebp - 0x631c]
sub eax, dword [ebp - 0x6758]
sar eax, 1
cmp eax, 0x2bb
jge 0x42ebcd
push 3
push 0x4396a0
mov ecx, dword [ebp - 0x631c]
push ecx
call fcn.00402656
add esp, 0xc
test eax, eax
jne 0x42eb98
mov edx, 0x22
mov eax, dword [ebp - 0x6770]
mov word [eax], dx
mov ecx, dword [ebp - 0x631c]
add ecx, 4
mov dword [ebp - 0x631c], ecx
jmp 0x42ebaa
mov edx, dword [ebp - 0x6770]
mov eax, dword [ebp - 0x631c]
mov cx, word [eax]
mov word [edx], cx
mov edx, dword [ebp - 0x631c]
add edx, 2
mov dword [ebp - 0x631c], edx
mov eax, dword [ebp - 0x6770]
add eax, 2
mov dword [ebp - 0x6770], eax
jmp 0x42eb27
xor ecx, ecx
mov edx, dword [ebp - 0x6770]
mov word [edx], cx
jmp 0x42ec54
mov eax, dword [ebp - 0x631c]
movzx ecx, word [eax]
test ecx, ecx
je 0x42ebf8
mov edx, dword [ebp - 0x631c]
add edx, 2
mov dword [ebp - 0x631c], edx
jmp 0x42ebda
mov eax, dword [ebp - 0x631c]
movzx ecx, word [eax - 2]
cmp ecx, 0x20
jne 0x42ec18
mov edx, dword [ebp - 0x631c]
sub edx, 2
mov dword [ebp - 0x631c], edx
jmp 0x42ebf8
mov eax, dword [ebp - 0x631c]
sub eax, dword [ebp - 0x6758]
sar eax, 1
test eax, eax
jle 0x42ec54
mov ecx, dword [ebp - 0x631c]
sub ecx, dword [ebp - 0x6758]
sar ecx, 1
push ecx
mov edx, dword [ebp - 0x6758]
push edx
push 0x2bc
lea eax, [ebp - 0x580]
push eax
call fcn.004024b5
add esp, 0x10
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x6758], ecx
lea edx, [ebp - 0x631c]
push edx
push 0x4396a8
mov eax, dword [ebp - 0x6758]
push eax
call fcn.0040268d
add esp, 0xc
test eax, eax
je 0x42edf3
mov ecx, dword [ebp - 0x6758]
movzx edx, word [ecx]
cmp edx, 0x2f
jne 0x42ec9d
mov eax, dword [ebp - 0x6758]
add eax, 2
mov dword [ebp - 0x6758], eax
mov ecx, dword [ebp - 0x6758]
movzx edx, word [ecx]
mov dword [ebp - 0x6784], edx
mov eax, dword [ebp - 0x6784]
sub eax, 0x41
mov dword [ebp - 0x6784], eax
cmp dword [ebp - 0x6784], 0x33
ja case.0x42ecd5.2
mov ecx, dword [ebp - 0x6784]
movzx edx, byte [ecx + 0x42f0e8]
jmp dword [edx*4 + 0x42f0c8]
mov eax, dword [ebp - 0x6758]
add eax, 4
push eax
push 0x104
lea ecx, [ebp - 0x6738]
push ecx
call fcn.004023ae
add esp, 0xc
push 0x20
lea edx, [ebp - 0x6738]
push edx
call fcn.00401070
add esp, 8
mov dword [ebp - 0x6774], eax
cmp dword [ebp - 0x6774], 0
je 0x42ed27
xor eax, eax
mov ecx, dword [ebp - 0x6774]
mov word [ecx], ax
jmp 0x42ecfa
jmp case.0x42ecd5.2
mov edx, dword [ebp - 0x6758]
add edx, 4
push edx
call fcn.0040277b
add esp, 4
mov dword [ebp - 0x6764], eax
jmp case.0x42ecd5.2
mov eax, dword [ebp - 0x6758]
add eax, 4
push eax
call fcn.0040277b
add esp, 4
mov dword [ebp - 0x675c], eax
jmp case.0x42ecd5.2
mov ecx, dword [ebp - 0x6758]
add ecx, 4
push ecx
call fcn.0040277b
add esp, 4
mov dword [ebp - 4], eax
jmp case.0x42ecd5.2
push 4
mov edx, dword [ebp - 0x6758]
add edx, 4
push edx
push 0x104
lea eax, [ebp - 0x6528]
push eax
call fcn.004024b5
add esp, 0x10
jmp case.0x42ecd5.2
push 3
push 0x4396ac
mov ecx, dword [ebp - 0x6758]
push ecx
call fcn.00402656
add esp, 0xc
test eax, eax
jne 0x42edc2
mov dword [0x43f2bc], 1
jmp case.0x42ecd5.2
mov edx, dword [ebp - 0x6758]
add edx, 4
push edx
push 0x104
lea eax, [ebp - 0x790]
push eax
call fcn.004023ae
add esp, 0xc
mov ecx, dword [ebp - 0x631c]
mov dword [ebp - 0x6758], ecx
jmp 0x42ec5d
lea edx, [ebp - 0x580]
push edx
call fcn.00402006
add esp, 4
test eax, eax
jne 0x42ee20
lea eax, [ebp - 0x6738]
push eax
call fcn.00402006
add esp, 4
test eax, eax
jne 0x42ee20
xor eax, eax
jmp 0x42f0b6
push 0x208
push 0
lea ecx, [ebp - 0x6318]
push ecx
call fcn.00401f60
add esp, 0xc
push str.kyoceramita_kmstmvm300_monitor_
push 0x104
lea edx, [ebp - 0x6318]
push edx
call fcn.004023ae
add esp, 0xc
lea eax, [ebp - 0x580]
push eax
push 0x104
lea ecx, [ebp - 0x6318]
push ecx
call fcn.00402588
add esp, 0xc
push 0x5c
lea edx, [ebp - 0x6318]
push edx
call fcn.00401260
add esp, 8
test eax, eax
je 0x42eeaf
push 0x5c
lea eax, [ebp - 0x6318]
push eax
call fcn.00401260
add esp, 8
mov dword [ebp - 0x6778], eax
cmp dword [ebp - 0x6778], 0
je 0x42eeaf
mov ecx, 0x5f
mov edx, dword [ebp - 0x6778]
mov word [edx], cx
jmp 0x42ee7f
lea eax, [ebp - 0x6318]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x610c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x42eeda
xor eax, eax
jmp 0x42f0b6
lea ecx, [ebp - 0x6108]
call fcn.0041d030
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x6108]
call fcn.00418180
lea edx, [ebp - 0x580]
push edx
lea ecx, [ebp - 0x6108]
call fcn.004170a0
mov eax, dword [ebp - 0x675c]
push eax
lea ecx, [ebp - 0x6108]
call fcn.00418140
lea ecx, [ebp - 0x6528]
push ecx
call fcn.0040277b
add esp, 4
mov dword [ebp - 0x798], eax
mov edx, 1
mov word [ebp - 0x584], dx
mov eax, 0xd
mov word [ebp - 0x794], ax
xor ecx, ecx
mov word [ebp - 0x6760], cx
cmp dword [ebp - 0x798], 0x3e8
jle 0x42efa3
mov eax, dword [ebp - 0x798]
cdq
mov ecx, 0x3e8
idiv ecx
mov word [ebp - 0x584], ax
mov eax, dword [ebp - 0x798]
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, edx
cdq
mov ecx, 0xa
idiv ecx
mov word [ebp - 0x794], ax
mov eax, dword [ebp - 0x798]
cdq
mov ecx, 0xa
idiv ecx
mov word [ebp - 0x6760], dx
movzx edx, word [ebp - 0x6760]
push edx
movzx eax, word [ebp - 0x794]
push eax
movzx ecx, word [ebp - 0x584]
push ecx
lea ecx, [ebp - 0x6108]
call fcn.00417190
lea edx, [ebp - 0x6738]
push edx
call fcn.00402006
add esp, 4
test eax, eax
jbe 0x42efeb
lea eax, [ebp - 0x6738]
push eax
lea ecx, [ebp - 0x6108]
call fcn.004167e0
cmp dword [ebp - 4], 0
jle 0x42f000
mov ecx, dword [ebp - 4]
push ecx
lea ecx, [ebp - 0x6108]
call fcn.004167b0
lea edx, [ebp - 0x790]
push edx
call fcn.00402006
add esp, 4
test eax, eax
jbe 0x42f025
lea eax, [ebp - 0x790]
push eax
lea ecx, [ebp - 0x6108]
call fcn.00416fe0
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x6108]
call fcn.0041bda0
test eax, eax
jne 0x42f059
mov dword [ebp - 0x677c], 0
lea ecx, [ebp - 0x6108]
call fcn.0041cf50
mov eax, dword [ebp - 0x677c]
jmp 0x42f0b6
push 0
push 0
push 0
lea eax, [ebp - 0x6754]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x42f08c
lea ecx, [ebp - 0x6754]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea edx, [ebp - 0x6754]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x42f059
mov eax, dword [ebp - 0x610c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x674c]
mov dword [ebp - 0x6780], ecx
lea ecx, [ebp - 0x6108]
call fcn.0041cf50
mov eax, dword [ebp - 0x6780]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00401f44
mov esp, ebp
pop ebp
ret 0x10