Function at 0x491bf0
Capabilities:
Check mutex on windows
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1598
call fcn.005cef50
mov eax, dword [0x632b20]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [0x9cf2fc], eax
mov ecx, dword [ebp + 0x14]
mov dword [0x9cf300], ecx
mov edx, dword [ebp + 0x10]
mov dword [0x9cef74], edx
mov eax, dword [ebp + 0x10]
push eax
push 0x5ec060
push 0x9cf380
call fcn.005cc4f5
add esp, 0xc
mov dword [0x9cef74], 0x9cf380
push 0x5ec0ac
push str.Config.dat
call fcn.005cd6b5
add esp, 8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x491d4a
push 0x1400
push 0
lea ecx, [ebp - 0x1410]
push ecx
call fcn.005cbc50
add esp, 0xc
mov edx, dword [ebp - 0xc]
push edx
push 0x100
lea eax, [ebp - 0x1410]
push eax
call fcn.005ce808
add esp, 0xc
mov ecx, dword [0x9cef74]
mov dword [ebp - 0x156c], ecx
mov edx, dword [ebp - 0x156c]
mov dword [ebp - 0x1570], edx
mov eax, dword [ebp - 0x156c]
mov cl, byte [eax]
mov byte [ebp - 0x1571], cl
add dword [ebp - 0x156c], 1
cmp byte [ebp - 0x1571], 0
jne 0x491ca8
mov edx, dword [ebp - 0x156c]
sub edx, dword [ebp - 0x1570]
mov eax, dword [ebp - 0x1570]
mov dword [ebp - 0x1578], eax
mov dword [ebp - 0x157c], edx
lea ecx, [ebp - 0x1410]
add ecx, 0xffffffff
mov dword [ebp - 0x1580], ecx
mov edx, dword [ebp - 0x1580]
mov al, byte [edx + 1]
mov byte [ebp - 0x1581], al
add dword [ebp - 0x1580], 1
cmp byte [ebp - 0x1581], 0
jne 0x491cf3
mov edi, dword [ebp - 0x1580]
mov esi, dword [ebp - 0x1578]
mov edx, dword [ebp - 0x157c]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0xc]
push eax
call fcn.005cd459
add esp, 4
lea ecx, [ebp - 0x1410]
mov dword [0x9cef74], ecx
mov byte [ebp - 0x1555], 0
mov dword [ebp - 0x155c], 0
jmp 0x491d6c
mov edx, dword [ebp - 0x155c]
add edx, 1
mov dword [ebp - 0x155c], edx
cmp dword [ebp - 0x155c], 5
jge 0x491dda
mov eax, dword [ebp - 0x155c]
push eax
push str.10_2C_VS_32_56_SA_42_K_d_PP_1S_38_94
push 0x9cef78
call fcn.005cc4f5
add esp, 0xc
push 0x9cef78
push 1
push 0
call dword [sym.imp.kernel32.dll_CreateMutexA]
mov dword [0x9cf358], eax
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0xb7
jne 0x491dc0
mov ecx, dword [0x9cf358]
push ecx
call dword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x491d5d
mov byte [ebp - 0x1555], 1
mov edx, dword [ebp - 0x155c]
add edx, 1
mov dword [0x607eec], edx
jmp 0x491dda
movzx eax, byte [ebp - 0x1555]
test eax, eax
jne 0x491dec
xor eax, eax
jmp 0x492216
mov ecx, dword [0x9cef74]
mov dword [ebp - 0x1568], ecx
push str.updated
mov edx, dword [ebp - 0x1568]
push edx
call fcn.005cc790
add esp, 8
test eax, eax
jne 0x491e2f
push 0x10
push 0x5ec0ec
push 0x5ec0f4
mov eax, dword [0x9cef70]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x492216
push 0x40
push 0
lea ecx, [ebp - 0x1550]
push ecx
call fcn.005cbc50
add esp, 0xc
mov byte [ebp - 0x1550], 0x32
mov byte [ebp - 0x1520], 0
lea edx, [ebp - 0x1550]
push edx
call sub.NETAPI32.dll_Netbios
mov byte [ebp - 1], al
push 0x40
push 0
lea eax, [ebp - 0x1550]
push eax
call fcn.005cbc50
add esp, 0xc
mov byte [ebp - 0x1550], 0x33
mov byte [ebp - 0x1520], 0
mov ecx, dword [0x5ec11c]
mov dword [ebp - 0x1546], ecx
mov edx, dword [0x5ec120]
mov dword [ebp - 0x1542], edx
mov eax, dword [0x5ec124]
mov dword [ebp - 0x153e], eax
mov ecx, dword [0x5ec128]
mov dword [ebp - 0x153a], ecx
mov dl, byte [0x5ec12c]
mov byte [ebp - 0x1536], dl
mov dword [ebp - 0x154c], 0x9cf078
mov eax, 0x258
mov word [ebp - 0x1548], ax
lea ecx, [ebp - 0x1550]
push ecx
call sub.NETAPI32.dll_Netbios
mov byte [ebp - 1], al
movzx edx, byte [0x9cf07d]
push edx
movzx eax, byte [0x9cf07c]
push eax
movzx ecx, byte [0x9cf07b]
push ecx
movzx edx, byte [0x9cf07a]
push edx
movzx eax, byte [0x9cf079]
push eax
movzx ecx, byte [0x9cf078]
push ecx
push str._02X__02X__02X__02X__02X__02X
push 0x9cf30c
call fcn.005cc4f5
add esp, 0x20
cmp dword [ebp + 0xc], 0
jne 0x492014
mov dword [0x9cf330], 0x1008
mov dword [0x9cf334], 0x4936f0
mov dword [0x9cf338], 0
mov dword [0x9cf33c], 0
mov edx, dword [ebp + 8]
mov dword [0x9cf340], edx
push 0x67
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x9cf344], eax
mov dword [ebp - 0x1560], 0
jmp 0x491f89
mov ecx, dword [ebp - 0x1560]
add ecx, 1
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0xb
jge 0x491fbc
mov edx, dword [ebp - 0x1560]
imul edx, edx, 0xc
movzx eax, word [edx + 0x607ef8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_LoadCursorA]
mov edx, dword [ebp - 0x1560]
mov dword [edx*4 + 0x9cf2d0], eax
jmp 0x491f7a
mov dword [0x9cf348], 0
mov dword [0xf1ce54], 0
mov eax, dword [0xf1ce54]
mov dword [0x9cf32c], eax
push 4
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [0x9cf34c], eax
mov dword [0x9cf350], 0
mov dword [0x9cf354], 0x5ec150
push 0x9cf330
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx ecx, ax
test ecx, ecx
jne 0x492014
xor eax, eax
jmp 0x492216
call fcn.00492260
call fcn.00492230
call fcn.005c8870
call fcn.005c8db0
call fcn.004922b0
call fcn.004768a0
call fcn.00493230
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x49205b
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x1588], edx
jmp 0x492067
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x1588], eax
mov edx, dword [ebp - 0x1588]
mov dword [0x7d22c0], edx
xor eax, eax
mov dword [0x9cd4c4], eax
mov dword [0x9cd4c8], eax
mov dword [0x9cd4cc], eax
mov dword [0x9cd4d0], eax
mov dword [0x9cd4d4], eax
mov dword [0x9cd4d8], eax
mov dword [0x9cd4dc], eax
mov dword [0x9cd4e0], eax
mov dword [0x9cd4e4], eax
mov dword [0x9cd4e8], eax
push 0x50
push 0
push 0x9ccf50
call fcn.005cbc50
add esp, 0xc
push 0x100
push 0
lea ecx, [ebp - 0x1510]
push ecx
call fcn.005cbc50
add esp, 0xc
push str.CGSharedMem
push 0
push 2
call dword [sym.imp.kernel32.dll_OpenFileMappingA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x49217f
push 0
push 0
push 0
push 6
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.kernel32.dll_MapViewOfFile]
mov dword [ebp - 0x1564], eax
mov eax, dword [ebp - 0x1564]
mov dword [ebp - 0x158c], eax
lea ecx, [ebp - 0x1510]
mov dword [ebp - 0x1590], ecx
mov edx, dword [ebp - 0x1590]
mov dword [ebp - 0x1594], edx
mov eax, dword [ebp - 0x158c]
mov cl, byte [eax]
mov byte [ebp - 0x1595], cl
mov edx, dword [ebp - 0x1590]
mov al, byte [ebp - 0x1595]
mov byte [edx], al
mov ecx, dword [ebp - 0x158c]
add ecx, 1
mov dword [ebp - 0x158c], ecx
mov edx, dword [ebp - 0x1590]
add edx, 1
mov dword [ebp - 0x1590], edx
cmp byte [ebp - 0x1595], 0
jne 0x492126
push 0x100
push 0
mov eax, dword [ebp - 0x1564]
push eax
call fcn.005cbc50
add esp, 0xc
push str.gid:
lea ecx, [ebp - 0x1510]
push ecx
call fcn.005cc790
add esp, 8
mov dword [ebp - 0x1554], eax
cmp dword [ebp - 0x1554], 0
je 0x4921c3
push 0x9cd4c4
push 0x5ec170
mov edx, 1
shl edx, 2
add edx, dword [ebp - 0x1554]
push edx
call fcn.005ce6bc
add esp, 0xc
push str.glt:
lea eax, [ebp - 0x1510]
push eax
call fcn.005cc790
add esp, 8
mov dword [ebp - 0x1554], eax
cmp dword [ebp - 0x1554], 0
je 0x492207
push 0x9ccf50
push 0x5ec17c
mov ecx, 1
shl ecx, 2
add ecx, dword [ebp - 0x1554]
push ecx
call fcn.005ce6bc
add esp, 0xc
call fcn.005cafa0
call fcn.00478e20
call fcn.005cb100
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005cbcfe
mov esp, ebp
pop ebp
ret 0x10