Function at 0x482320
Capabilities:
Check mutex on windows
Create process on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x15ac
call fcn.0050c860
mov eax, dword [0x579aa4]
xor eax, ebp
mov dword [ebp - 8], eax
push str._close
mov eax, dword [ebp + 8]
push eax
call fcn.0044de30
add esp, 8
test eax, eax
je 0x482358
call fcn.00482170
xor eax, eax
jmp 0x4828d0
push str._uninst
mov ecx, dword [ebp + 8]
push ecx
call fcn.0044de30
add esp, 8
test eax, eax
je 0x482441
push 0
push 0x54bc78
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x9b0], eax
cmp dword [ebp - 0x9b0], 0
je 0x4823a0
push 0
push 0
push 0x10
mov edx, dword [ebp - 0x9b0]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push str.Q360AdMgr
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x9b8], eax
cmp dword [ebp - 0x9b8], 0
je 0x4823cf
push 0
push 0
push 0x10
mov eax, dword [ebp - 0x9b8]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push 0x54bcbc
push 0x54bcdc
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x9b4], eax
cmp dword [ebp - 0x9b4], 0
je 0x482414
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x9b4]
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x12
mov edx, dword [ebp - 0x9b4]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.00481ef0
test eax, eax
jne 0x482424
xor eax, eax
jmp 0x4828d0
push 0
push 0xffffffffffffffff
push 0x54bcfc
call fcn.004144d0
add esp, 0xc
call fcn.004a6900
xor eax, eax
jmp 0x4828d0
push str._query
mov eax, dword [ebp + 8]
push eax
call fcn.0044de30
add esp, 8
test eax, eax
je 0x48252b
lea ecx, [ebp - 0x1590]
push ecx
call fcn.00482b90
add esp, 4
mov ecx, eax
call fcn.00406010
push eax
push 1
push str.FirstOpen
push 0x54bd54
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x9bc], eax
lea ecx, [ebp - 0x1590]
call fcn.00406190
cmp dword [ebp - 0x9bc], 1
jne 0x4824f5
lea edx, [ebp - 0x1594]
push edx
call fcn.00482b90
add esp, 4
mov ecx, eax
call fcn.00406010
push eax
push 0x54bd68
push 0x54bd6c
push 0x54bd80
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x1594]
call fcn.00406190
lea ecx, [ebp - 0x1329]
call fcn.004d4b80
lea ecx, [ebp - 0x1329]
call fcn.004d51c0
lea ecx, [ebp - 0x1329]
call fcn.004d4b90
lea ecx, [ebp - 0x1328]
call fcn.004b7d60
lea ecx, [ebp - 0x1328]
call fcn.004bd3c0
mov dword [ebp - 0x1598], 0
lea ecx, [ebp - 0x1328]
call fcn.004b8050
mov eax, dword [ebp - 0x1598]
jmp 0x4828d0
push 0x54bd94
mov eax, dword [ebp + 8]
push eax
call fcn.0044de30
add esp, 8
test eax, eax
je 0x482547
mov byte [0x57c124], 1
movzx ecx, byte [0x57c124]
test ecx, ecx
jne 0x48262b
movzx edx, byte [0x57c125]
test edx, edx
jne 0x48262b
mov dword [ebp - 0x1574], 0
push 0x38
push 0
lea eax, [ebp - 0x1570]
push eax
call fcn.0050c770
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x1538], cx
push 0x206
push 0
lea edx, [ebp - 0x1536]
push edx
call fcn.0050c770
add esp, 0xc
push 0x103
lea eax, [ebp - 0x1538]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x1574], 0x3c
mov dword [ebp - 0x1570], 0x1040
mov dword [ebp - 0x156c], 0
mov dword [ebp - 0x1568], 0x54bda4
lea ecx, [ebp - 0x1538]
mov dword [ebp - 0x1564], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1560], edx
mov dword [ebp - 0x155c], 0x54bdb0
mov dword [ebp - 0x1558], 1
lea eax, [ebp - 0x1574]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x482624
mov ecx, dword [ebp - 0x153c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x4828d0
mov dword [ebp - 0x974], 1
mov ecx, 0x57f108
call fcn.0040fb00
cmp dword [ebp - 0x974], 0
je 0x482657
mov dword [0x5796a0], 1
call fcn.00482240
push str.Global__Q360PopwndTracker
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x57c120], eax
cmp dword [0x57c120], 0
je 0x48276c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x48276c
push 0
push 0x54bde8
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x1578], eax
cmp dword [ebp - 0x1578], 0
je 0x48276c
movzx edx, byte [0x57c124]
cmp edx, 1
jne 0x4826f7
mov dword [ebp - 0x1588], 0
lea eax, [ebp - 0x1588]
push eax
push 0x7d0
push 1
push 0
push 0
push 0x8223
mov ecx, dword [ebp - 0x1578]
push ecx
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
test eax, eax
je 0x4826f7
cmp dword [ebp - 0x1588], 1
jne 0x4826f7
xor eax, eax
jmp 0x4828d0
mov dword [ebp - 0x1584], 0x360366
cmp dword [ebp + 8], 0
je 0x482739
mov edx, dword [ebp + 8]
push edx
call fcn.0050c71f
add esp, 4
cmp eax, 3
jbe 0x482739
mov eax, dword [ebp + 8]
push eax
call fcn.0050c71f
add esp, 4
lea ecx, [eax + eax + 2]
mov dword [ebp - 0x1580], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x157c], edx
jmp 0x48274d
mov dword [ebp - 0x1580], 0
mov dword [ebp - 0x157c], 0
lea eax, [ebp - 0x1584]
push eax
push 0
push 0x4a
mov ecx, dword [ebp - 0x1578]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
jmp 0x4828d0
lea ecx, [ebp - 0x9ac]
call fcn.00482da0
lea edx, [ebp - 0x9ac]
push edx
mov ecx, 0x57c128
call fcn.004839f0
call fcn.00481ef0
test eax, eax
jne 0x4827b1
mov dword [ebp - 0x159c], 0
lea ecx, [ebp - 0x9ac]
call fcn.00482dd0
mov eax, dword [ebp - 0x159c]
jmp 0x4828d0
cmp dword [ebp - 0x974], 0
je 0x4827dd
lea ecx, [ebp - 0x1589]
call fcn.004d4b80
push 0
lea ecx, [ebp - 0x1589]
call fcn.004d5210
lea ecx, [ebp - 0x1589]
call fcn.004d4b90
lea ecx, [ebp - 0x970]
call fcn.004b7d60
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x970]
call fcn.004bc7f0
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x970]
call fcn.004bd4f0
push 0
push ecx
mov ecx, esp
push 0
call fcn.00483e20
push 0
push 0
push 0
push ecx
mov ecx, esp
push 0
call fcn.00483db0
push 0
lea ecx, [ebp - 0x944]
call fcn.004834d0
test eax, eax
jne 0x48285b
mov dword [ebp - 0x15a8], 0
lea ecx, [ebp - 0x970]
call fcn.004b8050
lea ecx, [ebp - 0x9ac]
call fcn.00482dd0
mov eax, dword [ebp - 0x15a8]
jmp 0x4828d0
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x940]
call fcn.00483e80
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x970]
call fcn.004bc530
mov ecx, 0x57d3a0
call fcn.00483be0
lea ecx, [ebp - 0x9ac]
call fcn.00483320
mov dword [ebp - 4], eax
push 0xffffffffffffffff
mov ecx, 0x57d3a0
call fcn.00483c50
mov ecx, 0x57c128
call fcn.00483ad0
mov edx, dword [ebp - 4]
mov dword [ebp - 0x15ac], edx
lea ecx, [ebp - 0x970]
call fcn.004b8050
lea ecx, [ebp - 0x9ac]
call fcn.00482dd0
mov eax, dword [ebp - 0x15ac]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0050c75f
mov esp, ebp
pop ebp
ret