Function at 0x404de0
Capabilities:
Check mutex on windows
Check os version
Extract resource via kernel32 functions

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x42e02b
push eax
mov dword fs:[0], esp
sub esp, 0x214
xor eax, eax
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0x25
lea edx, [esi + 0x2c]
mov edi, edx
push edx
rep stosd dword es:[edi], eax
mov dword [edx], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edi, dword [esp + 0x23c]
push 0x43c488
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x404e4b
mov eax, dword [esp + 0x238]
push 0x43c478
push eax
lea ecx, [esi + 0xc]
push 0x43c300
push ecx
jmp 0x404e8d
lea edx, [esp + 0x120]
push edi
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x120]
push 0x43c2e0
push eax
call dword [0x440944]
test eax, eax
je 0x404e95
mov edx, dword [esp + 0x238]
lea ecx, [esp + 0x120]
mov byte [eax], 0
push ecx
push edx
lea eax, [esi + 0xc]
push 0x43c46c
push eax
call fcn.00421c4e
add esp, 0x10
mov ebp, dword [esp + 0x244]
cmp ebp, 2
jne 0x404fcf
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esi + 0xd0]
call fcn.00403b20
mov eax, dword [eax]
push eax
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov edi, eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], edi
call fcn.00422a0b
test edi, edi
je 0x404fcf
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
je 0x404fb7
mov edx, dword [0x43c990]
mov dword [esp + 0x10], edx
push 0x7d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x230], 0
call fcn.004236a1
mov al, byte [0x440950]
mov ecx, 0x40
mov byte [esp + 0x1c], al
xor eax, eax
lea edi, [esp + 0x1d]
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x20]
stosw word es:[edi], ax
push ecx
push 0x3f6
push ebx
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_LoadStringA]
mov ebp, dword [esp + 0x10]
push 0x43c460
push 0xfa0
push ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x404f77
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x404f77
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x404f77
mov di, word [eax]
and edi, 0xffff
dec edi
je 0x404f84
xor eax, eax
jmp 0x404f89
mov eax, 0x180000
push eax
lea edx, [esp + 0x20]
push ebp
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [esp + 0x10]
mov dword [esp + 0x22c], 0xffffffff
call fcn.00422a0b
mov edi, dword [esp + 0x14]
mov ecx, esi
call fcn.00405920
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x652
jmp 0x40521c
mov eax, dword [esp + 0x234]
lea ebx, [esi + 0xd0]
push eax
mov ecx, ebx
call fcn.00403780
test eax, eax
je 0x405112
mov eax, dword [esi + 0x3c]
mov ebp, 0x643
cmp eax, 2
jne 0x405009
mov ecx, esi
call fcn.004080f0
test eax, eax
jne 0x405009
mov ebp, 5
mov eax, dword [esp + 0x244]
cmp eax, 2
je 0x40501e
cmp eax, 3
jne 0x405104
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
je 0x405104
mov dl, byte [0x440950]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x121]
mov byte [esp + 0x120], dl
mov byte [esp + 0x1c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1d]
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x124]
stosb byte es:[edi], al
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
push ecx
push 0x3f2
push ebx
call edi
cmp ebp, 5
push 0x104
jne 0x405097
lea edx, [esp + 0x20]
push edx
push 0x3f7
jmp 0x4050a1
lea eax, [esp + 0x20]
push eax
push 0x3f3
push ebx
call edi
push 0x43c460
push 0xfa0
push ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x4050d5
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4050d5
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x4050d5
mov di, word [eax]
and edi, 0xffff
dec edi
je 0x4050e2
xor eax, eax
jmp 0x4050e7
mov eax, 0x180000
lea ecx, [esp + 0x120]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, esi
call fcn.00405920
mov eax, ebp
jmp 0x40521c
cmp ebp, 2
je 0x405120
cmp ebp, 3
jne 0x4051e9
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
mov dword [esi + 0xc8], edi
je 0x405210
call fcn.0042a814
mov dword [eax + 0xc], edi
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.00403b00
mov eax, dword [eax]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0x18]
mov dword [esi + 0xc4], eax
call fcn.00422a0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4051b0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ecx
mov ecx, ebx
call fcn.00403ac0
push 0
mov ecx, esi
call fcn.004069c0
mov ecx, esi
call fcn.00405920
mov esi, dword [esi + 0xc4]
test esi, esi
je 0x4051a9
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x652
jmp 0x40521c
cmp dword [esi + 0x3c], 2
jne 0x4051e9
mov ecx, esi
call fcn.004080f0
test eax, eax
jne 0x4051e9
push 2
push ecx
mov edx, esp
mov dword [esp + 0x1c], esp
push edx
mov ecx, ebx
call fcn.00403ac0
push 0
mov ecx, esi
call fcn.004069c0
mov ecx, esi
call fcn.00405920
mov eax, 5
jmp 0x40521c
mov eax, dword [esp + 0x238]
lea ecx, [esi + 0x10]
push eax
mov dword [esi + 0x14], ebp
call fcn.00422b94
mov ecx, dword [esp + 0x240]
push ecx
lea ecx, [esi + 4]
call fcn.00422b94
xor eax, eax
jmp 0x40521c
mov ecx, esi
call fcn.00405920
mov eax, 0x643
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x220
ret 0x14