Function at 0x402060
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x4d42b2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x43c
mov eax, dword [0x50ba00]
push esi
push edi
push 0x4011a0
mov dword [esp + 0x444], eax
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
xor edi, edi
lea eax, [esp + 0x15c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
xor esi, esi
mov dword [esp + 0x158], eax
mov dword [esp + 0x1dc], edi
mov word [esp + 0x15c], di
lea ecx, [esp + 0xd4]
mov dword [esp + 0x44c], edi
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x154], edi
mov word [esp + 0xd4], di
push edi
lea ecx, [esp + 0x28]
mov byte [esp + 0x450], 1
call fcn.00497770
mov eax, dword [esp + 0x45c]
lea edx, [esp + 0x24]
push edx
push 0x4dbd78
push eax
mov byte [esp + 0x458], 2
call fcn.00401f40
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.0049c670
test eax, eax
jle 0x402140
push edi
lea ecx, [esp + 0x28]
call fcn.004979f0
mov eax, dword [eax]
push str.ignore_driver
push eax
call fcn.0048332d
add esp, 8
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
cmp eax, edi
jl 0x402472
push edi
call dword [sym.imp.ole32.dll_OleInitialize]
cmp eax, edi
jl 0x402472
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
call sub.gdiplus.dll_GdiplusStartup
lea eax, [esp + 0x1e0]
push 0x4dbca8
push eax
call fcn.004c9ff0
add esp, 8
push 0x4dbc9c
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x4025f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4025f7
mov ecx, dword [esp + 0x454]
push ecx
call fcn.004987c0
lea edx, [esp + 0x4c]
push edx
call fcn.0049a350
mov eax, dword [eax]
add esp, 8
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x160]
call fcn.00401550
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x4c]
cmp eax, ecx
je 0x40220a
push eax
call fcn.00482838
add esp, 4
mov edx, dword [esp + 0x158]
push edx
call fcn.00452ff0
lea eax, [esp + 0x4c]
push eax
call fcn.00453ba0
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x54]
add esp, 8
cmp eax, ecx
je 0x402239
push eax
call fcn.00482838
add esp, 4
lea edx, [esp + 0x48]
push edx
call fcn.00453c60
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x50]
add esp, 4
cmp eax, ecx
je 0x40225b
push eax
call fcn.00482838
add esp, 4
lea edx, [esp + 0x48]
push edx
call fcn.00453f20
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x50]
add esp, 4
cmp eax, ecx
je 0x40227d
push eax
call fcn.00482838
add esp, 4
call fcn.00451f50
call fcn.00401ca0
push 0xc48
call fcn.004cab91
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x44c], 3
je 0x4022af
mov ecx, eax
call fcn.0044ee20
mov esi, eax
jmp 0x4022b1
xor esi, esi
push 0x7c
mov byte [esp + 0x450], 2
mov dword [esp + 0x14], esi
call fcn.004cab91
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, edi
mov byte [esp + 0x44c], 4
je 0x4022e5
push esi
mov ecx, eax
call fcn.00430620
mov dword [esp + 0x1c], eax
jmp 0x4022e9
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x1c]
push ebx
push 0xac
mov byte [esp + 0x454], 2
mov dword [esp + 0x20], edx
call fcn.004cab91
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, edi
mov byte [esp + 0x450], 5
je 0x402322
mov ecx, eax
call fcn.0044b990
mov ebx, eax
jmp 0x402324
xor ebx, ebx
push ebp
push 0x46c
mov byte [esp + 0x458], 2
mov dword [esp + 0x20], ebx
call fcn.004cab91
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, edi
mov byte [esp + 0x454], 6
je 0x402359
mov ecx, eax
call fcn.004207f0
mov ebp, eax
jmp 0x40235b
xor ebp, ebp
push 0x6e
push 0x4dbc90
push str.RC5.skin
push 0x4dbc64
mov ecx, ebp
mov byte [esp + 0x464], 2
mov dword [esp + 0x20], ebp
call fcn.00420ac0
mov eax, dword [esp + 0x45c]
push str.l10zlsRSlk12.0
push eax
mov ecx, esi
call fcn.0044f260
test eax, eax
jne 0x4023a5
push 0x10
push 0x4dbc9c
push 0x4dbc40
jmp 0x4023c0
mov ecx, esi
call fcn.0044f3b0
test eax, eax
jne 0x4024e0
push 0x10
push 0x4dbc9c
push 0x4dbc28
push edi
call fcn.00451b00
add esp, 4
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, dword [esp + 0x10]
pop ebp
pop ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [esp + 0x1e4]
push str._________________________________________________________________________________QUIT_.___u_
push eax
call fcn.004c9ff0
add esp, 0xc
cmp esi, edi
je 0x402401
push esi
mov ecx, 0x51bfa0
call fcn.00497840
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x402410
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x20]
push ecx
call sub.gdiplus.dll_GdiplusShutdown
cmp esi, edi
je 0x402434
mov ecx, esi
call fcn.00401460
push esi
call fcn.004cabc1
add esp, 4
mov esi, dword [esp + 0x14]
cmp esi, edi
je 0x40244c
mov ecx, esi
call fcn.00447ff0
push esi
call fcn.004cabc1
add esp, 4
mov ecx, dword [esp + 0x18]
cmp ecx, edi
je 0x40245a
mov edx, dword [ecx]
push 1
call dword [edx]
mov esi, dword [esp + 0x10]
cmp esi, edi
je 0x402472
mov ecx, esi
call fcn.0044de70
push esi
call fcn.004cabc1
add esp, 4
lea ecx, [esp + 0x24]
mov byte [esp + 0x44c], 1
call fcn.00401770
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd4]
cmp eax, ecx
je 0x40249e
push eax
call fcn.00482838
add esp, 4
mov eax, dword [esp + 0x158]
lea edx, [esp + 0x15c]
cmp eax, edx
je 0x4024b9
push eax
call fcn.00482838
add esp, 4
mov ecx, dword [esp + 0x444]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x43c]
xor eax, eax
pop esi
call fcn.00482423
add esp, 0x448
ret 0x10
mov edx, dword [esi + 4]
lea ecx, [esi + 4]
call dword [edx + 4]
push eax
lea ecx, [esp + 0xdc]
call fcn.00401650
mov eax, dword [esp + 0xd8]
push eax
lea ecx, [esp + 0x1ec]
push 0x4dbb40
push ecx
call fcn.004c9ff0
mov edx, dword [esp + 0xe4]
push edx
call fcn.0043cf10
add esp, 0x10
mov ecx, 0x50da7c
call fcn.004559a0
lea eax, [esp + 0x54]
mov dword [esp + 0x14], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xd4], edi
mov word [esp + 0x54], di
mov ecx, dword [esp + 0x160]
push ecx
lea edx, [esp + 0x54]
push str._sRC5_Update.exe
push edx
mov byte [esp + 0x460], 7
call fcn.00401720
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
push eax
mov ecx, esi
call fcn.00450da0
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x54]
cmp eax, edx
mov byte [esp + 0x454], 2
je 0x402590
push eax
call fcn.00482838
add esp, 4
cmp dword [esp + 0x14], edi
jne 0x4023d0
push 0xb24
call fcn.004cab91
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, edi
mov byte [esp + 0x454], 8
je 0x4025dc
mov edx, dword [esp + 0x24]
cmp edx, edi
je 0x4025ce
push ebx
add edx, 0x38
push edx
push ebp
mov ecx, eax
call fcn.0040efc0
jmp 0x4025de
push ebx
xor edx, edx
push edx
push ebp
mov ecx, eax
call fcn.0040efc0
jmp 0x4025de
xor eax, eax
mov ecx, eax
mov byte [esp + 0x454], 2
call fcn.0040eae0
call fcn.0049c590
jmp 0x4023d0
push 0x10
push 0x4dbb0c
push 0x4dbc9c
push edi
call fcn.00451b00
add esp, 4
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4023d6