Function at 0x4035f6
Capabilities:
Check mutex on windows
Get hostname
Get session user name

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42d3cd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x162c
call fcn.0042a4e0
and dword [esp + 4], 0
push ebx
push esi
push edi
push 0xff
lea eax, [esp + 0x35]
push 0
push eax
mov byte [esp + 0x3c], 0
call fcn.00426af0
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
add esp, 0xc
push edi
push 0x43064c
call esi
test eax, eax
je 0x403abc
push edi
push str.lang
call esi
test eax, eax
je 0x403abc
push edi
push str.btag1
call esi
test eax, eax
jne 0x40367d
mov eax, dword [ebp + 0x14]
add eax, 0x18
jmp 0x403ac4
push edi
push str.btag2
call esi
test eax, eax
jne 0x403696
mov eax, dword [ebp + 0x14]
add eax, 0x218
jmp 0x403ac4
push edi
push str.btag3
call esi
test eax, eax
jne 0x4036af
mov eax, dword [ebp + 0x14]
add eax, 0x418
jmp 0x403ac4
push edi
push str.btag4
call esi
test eax, eax
jne 0x4036c8
mov eax, dword [ebp + 0x14]
add eax, 0x618
jmp 0x403ac4
push edi
push str.btag5
call esi
test eax, eax
jne 0x4036e1
mov eax, dword [ebp + 0x14]
add eax, 0x818
jmp 0x403ac4
push edi
push str.rafid
call esi
test eax, eax
jne 0x4036fa
mov eax, dword [ebp + 0x14]
add eax, 0xa18
jmp 0x403ac4
push edi
push str.name
call esi
test eax, eax
jne 0x403719
mov eax, dword [ebp + 0x14]
add eax, 0x50b4
push eax
push 0x430688
jmp 0x403aca
push edi
push str.local_machinename
call esi
test eax, eax
jne 0x403741
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
jmp 0x403809
push edi
push str.local_username
call esi
test eax, eax
jne 0x40376e
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov eax, dword [esp + 0x10]
dec eax
jmp 0x403ad8
push edi
mov ebx, 0x4306b0
push ebx
call esi
test eax, eax
jne 0x4037c0
mov eax, dword [ebp + 0x14]
add eax, 0x50b4
push eax
mov eax, str.SoftwareMGSThumperCasino
call fcn.004019a5
pop ecx
push 0
push ebx
mov esi, eax
push esi
call fcn.00402503
add esp, 0xc
mov edi, eax
push edi
lea eax, [esp + 0x34]
push 0x430688
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edi
mov dword [esp + 0x14], eax
call fcn.00421456
pop ecx
jmp 0x403802
push edi
mov ebx, 0x430270
push ebx
call esi
test eax, eax
jne 0x403812
mov eax, dword [ebp + 0x14]
add eax, 0x50b4
push eax
mov eax, str.SoftwareMGSThumperCasino
call fcn.004019a5
pop ecx
mov esi, eax
push ebx
push esi
call fcn.00402697
push eax
lea eax, [esp + 0x3c]
push 0x4306bc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov dword [esp + 0x10], eax
push esi
call fcn.00421456
pop ecx
mov eax, dword [esp + 0x10]
jmp 0x403ad8
push edi
mov ebx, str.userguid
push ebx
call esi
test eax, eax
je 0x403a93
push edi
push 0x4306cc
call esi
test eax, eax
je 0x403a93
push edi
push str.hddid
call esi
test eax, eax
je 0x403a34
push edi
push 0x4306f8
call esi
test eax, eax
je 0x403a34
push edi
push str.casinoid
call esi
test eax, eax
je 0x403a26
push edi
push str.serverid
call esi
test eax, eax
je 0x403a26
push edi
push str.pcmversion
call esi
test eax, eax
jne 0x40388c
mov eax, dword [ebp + 0x14]
add eax, 0x4f30
jmp 0x40370e
push edi
push str.PCMGUID
call esi
test eax, eax
jne 0x4038a5
mov eax, dword [ebp + 0x14]
add eax, 0x4e30
jmp 0x40370e
push edi
push str.RegistryPCMGUID
call esi
test eax, eax
jne 0x4038be
mov eax, dword [ebp + 0x14]
add eax, 0x4eb0
jmp 0x40370e
push edi
push str.EmbeddedPCMGUID
call esi
test eax, eax
jne 0x4038d9
mov eax, dword [0x441270]
add eax, 0xc18
jmp 0x403ac4
push edi
push str.bytesDownloaded
call esi
test eax, eax
jne 0x40391e
push str.bytesDownloadedMutex
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, eax
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x403913
mov esi, dword [0x441268]
shr esi, 0xa
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
push 0x4306bc
jmp 0x403aca
push edi
push str.percentDownloaded
call esi
test eax, eax
jne 0x403950
push str.percentDownloadedMutex
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, eax
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x403913
mov esi, dword [0x44126c]
jmp 0x40390c
push edi
push str.DISPLAY_NAME
call esi
test eax, eax
jne 0x4039ad
mov esi, 0xff
push esi
push eax
mov byte [esp + 0x138], al
lea eax, [esp + 0x139]
push eax
call fcn.00426af0
add esp, 0xc
lea eax, [esp + 0x130]
push esi
push eax
mov eax, 0x441384
call fcn.0040343c
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3c]
push 0x430688
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x403ad8
push edi
push str.MAX_Y
call esi
test eax, eax
jne 0x4039c4
push dword [0x44137c]
jmp 0x403914
push edi
push str.MAX_X
call esi
test eax, eax
jne 0x4039db
push dword [0x441380]
jmp 0x403914
push edi
push str.GOOD_NOW
call esi
test eax, eax
jne 0x4039f4
movzx eax, byte [0x441b84]
push eax
jmp 0x403914
push edi
push str.SUPPORTED
call esi
test eax, eax
jne 0x403a09
movzx eax, byte [0x441b85]
jmp 0x4039ee
mov eax, dword [ebp + 0x14]
lea ecx, [eax + 0x50b4]
push ecx
add eax, 0x51b4
call fcn.004019a5
pop ecx
push 0
push edi
jmp 0x403792
mov eax, dword [ebp + 0x14]
push dword [eax + 0x4fb0]
jmp 0x403914
mov byte [esp + 0x14], 0
xor eax, eax
lea edi, [esp + 0x15]
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea esi, [esp + 0x14]
stosb byte es:[edi], al
call fcn.0040a014
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
xor eax, eax
mov byte [esp + 0x1c], 0
lea edi, [esp + 0x1d]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
lea ebx, [esp + 0x1c]
movzx eax, byte [esp + edi + 0x14]
push eax
push str._2.2X
push ebx
call esi
add esp, 0xc
inc edi
inc ebx
inc ebx
cmp edi, 8
jl 0x403a67
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x34]
push 0x430688
push eax
call esi
jmp 0x403ad5
push SysReAllocStringLen
mov ecx, str.SoftwareMicrosoftMultimedia
lea eax, [esp + 0x234]
call fcn.0040a13c
and dword [esp + 0x1644], 0
push ebx
call fcn.0040a2df
jmp 0x40370e
mov eax, dword [ebp + 0x14]
add eax, 0xe18
push eax
push 0x430278
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
test eax, eax
je 0x403af6
cmp byte [esp + 0x30], 0
je 0x403af6
push dword [ebp + 0x10]
lea eax, [esp + 0x34]
push dword [ebp + 0xc]
call fcn.0040343c
pop ecx
pop ecx
jmp 0x403af8
xor eax, eax
mov ecx, dword [esp + 0x163c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10