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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42c471
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x162c
call fcn.0042beb0
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.00425710
mov edi, dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
add esp, 0xc
push edi
push 0x42f584
call esi
test eax, eax
je 0x40388e
push edi
push str.lang
call esi
test eax, eax
je 0x40388e
push edi
push str.btag1
call esi
test eax, eax
jne 0x40344f
mov eax, dword [ebp + 0x14]
add eax, 0x18
jmp 0x403896
push edi
push str.btag2
call esi
test eax, eax
jne 0x403468
mov eax, dword [ebp + 0x14]
add eax, 0x218
jmp 0x403896
push edi
push str.btag3
call esi
test eax, eax
jne 0x403481
mov eax, dword [ebp + 0x14]
add eax, 0x418
jmp 0x403896
push edi
push str.btag4
call esi
test eax, eax
jne 0x40349a
mov eax, dword [ebp + 0x14]
add eax, 0x618
jmp 0x403896
push edi
push str.btag5
call esi
test eax, eax
jne 0x4034b3
mov eax, dword [ebp + 0x14]
add eax, 0x818
jmp 0x403896
push edi
push str.rafid
call esi
test eax, eax
jne 0x4034cc
mov eax, dword [ebp + 0x14]
add eax, 0xa18
jmp 0x403896
push edi
push str.name
call esi
test eax, eax
jne 0x4034eb
mov eax, dword [ebp + 0x14]
add eax, 0x50b4
push eax
push 0x42f5c0
jmp 0x40389c
push edi
push str.local_machinename
call esi
test eax, eax
jne 0x403513
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 0x4035db
push edi
push str.local_username
call esi
test eax, eax
jne 0x403540
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 0x4038aa
push edi
mov ebx, 0x42f5e8
push ebx
call esi
test eax, eax
jne 0x403592
mov eax, dword [ebp + 0x14]
add eax, 0x50b4
push eax
mov eax, str.SoftwareMGSThumperCasino
call fcn.00401969
pop ecx
push 0
push ebx
mov esi, eax
push esi
call fcn.0040244b
add esp, 0xc
mov edi, eax
push edi
lea eax, [esp + 0x34]
push 0x42f5c0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push edi
mov dword [esp + 0x14], eax
call fcn.0042039d
pop ecx
jmp 0x4035d4
push edi
mov ebx, 0x42f250
push ebx
call esi
test eax, eax
jne 0x4035e4
mov eax, dword [ebp + 0x14]
add eax, 0x50b4
push eax
mov eax, str.SoftwareMGSThumperCasino
call fcn.00401969
pop ecx
mov esi, eax
push ebx
push esi
call fcn.004025df
push eax
lea eax, [esp + 0x3c]
push 0x42f5f4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov dword [esp + 0x10], eax
push esi
call fcn.0042039d
pop ecx
mov eax, dword [esp + 0x10]
jmp 0x4038aa
push edi
mov ebx, str.userguid
push ebx
call esi
test eax, eax
je 0x403865
push edi
push 0x42f604
call esi
test eax, eax
je 0x403865
push edi
push str.hddid
call esi
test eax, eax
je 0x403806
push edi
push 0x42f630
call esi
test eax, eax
je 0x403806
push edi
push str.casinoid
call esi
test eax, eax
je 0x4037f8
push edi
push str.serverid
call esi
test eax, eax
je 0x4037f8
push edi
push str.pcmversion
call esi
test eax, eax
jne 0x40365e
mov eax, dword [ebp + 0x14]
add eax, 0x4f30
jmp 0x4034e0
push edi
push str.PCMGUID
call esi
test eax, eax
jne 0x403677
mov eax, dword [ebp + 0x14]
add eax, 0x4e30
jmp 0x4034e0
push edi
push str.RegistryPCMGUID
call esi
test eax, eax
jne 0x403690
mov eax, dword [ebp + 0x14]
add eax, 0x4eb0
jmp 0x4034e0
push edi
push str.EmbeddedPCMGUID
call esi
test eax, eax
jne 0x4036ab
mov eax, dword [0x43f728]
add eax, 0xc18
jmp 0x403896
push edi
push str.bytesDownloaded
call esi
test eax, eax
jne 0x4036f0
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 0x4036e5
mov esi, dword [0x43f720]
shr esi, 0xa
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
push 0x42f5f4
jmp 0x40389c
push edi
push str.percentDownloaded
call esi
test eax, eax
jne 0x403722
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 0x4036e5
mov esi, dword [0x43f724]
jmp 0x4036de
push edi
push str.DISPLAY_NAME
call esi
test eax, eax
jne 0x40377f
mov esi, 0xff
push esi
push eax
mov byte [esp + 0x138], al
lea eax, [esp + 0x139]
push eax
call fcn.00425710
add esp, 0xc
lea eax, [esp + 0x130]
push esi
push eax
mov eax, 0x43f83c
call fcn.0040320e
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x3c]
push 0x42f5c0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x4038aa
push edi
push str.MAX_Y
call esi
test eax, eax
jne 0x403796
push dword [0x43f834]
jmp 0x4036e6
push edi
push str.MAX_X
call esi
test eax, eax
jne 0x4037ad
push dword [0x43f838]
jmp 0x4036e6
push edi
push str.GOOD_NOW
call esi
test eax, eax
jne 0x4037c6
movzx eax, byte [0x44003c]
push eax
jmp 0x4036e6
push edi
push str.SUPPORTED
call esi
test eax, eax
jne 0x4037db
movzx eax, byte [0x44003d]
jmp 0x4037c0
mov eax, dword [ebp + 0x14]
lea ecx, [eax + 0x50b4]
push ecx
add eax, 0x51b4
call fcn.00401969
pop ecx
push 0
push edi
jmp 0x403564
mov eax, dword [ebp + 0x14]
push dword [eax + 0x4fb0]
jmp 0x4036e6
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.004094ef
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 0x403839
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x34]
push 0x42f5c0
push eax
call esi
jmp 0x4038a7
push SysReAllocStringLen
mov ecx, str.SoftwareMicrosoftMultimedia
lea eax, [esp + 0x234]
call fcn.00409617
and dword [esp + 0x1644], 0
push ebx
call fcn.004097ba
jmp 0x4034e0
mov eax, dword [ebp + 0x14]
add eax, 0xe18
push eax
push 0x42f258
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
test eax, eax
je 0x4038c8
cmp byte [esp + 0x30], 0
je 0x4038c8
push dword [ebp + 0x10]
lea eax, [esp + 0x34]
push dword [ebp + 0xc]
call fcn.0040320e
pop ecx
pop ecx
jmp 0x4038ca
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