Function at 0x438890
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x630
mov eax, dword [0x59a530]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push eax
call fcn.00422340
mov ecx, eax
call fcn.00426e00
call fcn.00415c00
xor ecx, ecx
mov byte [ebp - 0x5cd], cl
xor edx, edx
mov byte [ebp - 0x5d0], dl
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x5cd]
call fcn.00432950
push eax
lea ecx, [ebp - 0x5d0]
call fcn.00431b60
push eax
call fcn.00435230
mov ecx, eax
call fcn.0046cec0
xor eax, eax
mov byte [ebp - 0x5d1], al
lea ecx, [ebp - 0x5d1]
call fcn.00432390
push eax
lea ecx, [ebp - 0x5dc]
call fcn.00407fa0
xor ecx, ecx
mov byte [ebp - 0x5d2], cl
push 0
push 0
push 0
lea ecx, [ebp - 0x5d2]
call fcn.00431fc0
push eax
lea ecx, [ebp - 0x5dc]
call fcn.00408670
push eax
lea edx, [ebp - 0x34]
push edx
call fcn.0046cf60
add esp, 0x18
xor eax, eax
mov byte [ebp - 0x5d3], al
lea ecx, [ebp - 0x34]
call fcn.00427be0
push eax
lea ecx, [ebp - 0x5d3]
call fcn.00433390
push eax
call fcn.00422550
mov ecx, eax
call fcn.0046b2c0
xor ecx, ecx
mov byte [ebp - 0x5c1], cl
lea ecx, [ebp - 0x5c1]
call fcn.00431bb0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x5d8], eax
cmp dword [ebp - 0x5d8], 0
je 0x438a0a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x5e4], eax
cmp dword [ebp - 0x5e4], 0xb7
jne 0x438a0a
xor edx, edx
mov byte [ebp - 0x5c2], dl
push 0
push 0
push 0x558010
lea ecx, [ebp - 0x5c2]
call fcn.00432060
push eax
call fcn.00467760
add esp, 0x10
mov eax, dword [ebp - 0x5d8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x5e8], 1
lea ecx, [ebp - 0x34]
call fcn.0041ebc0
lea ecx, [ebp - 0x5dc]
call fcn.004083d0
mov eax, dword [ebp - 0x5e8]
jmp 0x438d94
xor ecx, ecx
mov byte [ebp - 0x5c3], cl
lea ecx, [ebp - 0x5c3]
call fcn.00431f70
push eax
call fcn.00467080
add esp, 4
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x438a71
mov edx, dword [ebp - 0x5d8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0x10]
push eax
call fcn.00466800
add esp, 4
mov dword [ebp - 0x5ec], 0
lea ecx, [ebp - 0x34]
call fcn.0041ebc0
lea ecx, [ebp - 0x5dc]
call fcn.004083d0
mov eax, dword [ebp - 0x5ec]
jmp 0x438d94
xor ecx, ecx
mov byte [ebp - 0x5c4], cl
push 0
lea ecx, [ebp - 0x5c4]
call fcn.00433630
push eax
lea ecx, [ebp - 0x5cf]
call fcn.0042cd70
call fcn.00415c00
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x5f0], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 4
call fcn.00434920
add esp, 4
push 0
mov edx, dword [ebp + 8]
push edx
push 0
mov ecx, 0x5a0cfc
call fcn.00435450
mov eax, dword [ebp + 8]
push eax
call fcn.004772d0
add esp, 4
lea ecx, [ebp - 0xd0]
push ecx
call fcn.00472cd0
add esp, 4
xor edx, edx
mov byte [ebp - 0x5c5], dl
lea ecx, [ebp - 0x5c5]
call fcn.004329a0
push eax
lea ecx, [ebp - 0xd0]
call fcn.0046fc20
lea ecx, [ebp - 0xd0]
call fcn.00468cb0
push eax
call fcn.00477550
add esp, 4
xor eax, eax
mov byte [ebp - 0x5c6], al
push 1
lea ecx, [ebp - 0x5c6]
call fcn.004328a0
push eax
call fcn.00477610
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.0041e510
xor ecx, ecx
mov byte [ebp - 0x5c7], cl
lea ecx, [ebp - 0x5c7]
call fcn.004326a0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0041e4a0
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x4c]
push eax
call fcn.00422340
mov ecx, eax
call fcn.00426c10
lea ecx, [ebp - 0x4c]
call fcn.0041ebc0
xor ecx, ecx
mov byte [ebp - 0x5c8], cl
lea ecx, [ebp - 0x5c8]
call fcn.00431dd0
push eax
lea edx, [ebp - 0x1c]
push edx
call fcn.00418670
add esp, 8
movzx eax, al
test eax, eax
jne 0x438bf0
xor ecx, ecx
mov byte [ebp - 0x5c9], cl
lea ecx, [ebp - 0x5c9]
call fcn.004333e0
push eax
lea edx, [ebp - 0x1c]
push edx
call fcn.00418670
add esp, 8
movzx eax, al
test eax, eax
jne 0x438bf0
xor ecx, ecx
mov byte [ebp - 0x5ca], cl
lea ecx, [ebp - 0x5ca]
call fcn.00432750
push eax
lea edx, [ebp - 0x1c]
push edx
call fcn.00418670
add esp, 8
movzx eax, al
test eax, eax
je 0x438c59
call fcn.004223f0
mov ecx, eax
call fcn.0042a2b0
test eax, eax
jne 0x438c59
xor ecx, ecx
mov byte [ebp - 0x5cb], cl
xor edx, edx
mov byte [ebp - 0x5cc], dl
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push 0
call fcn.0041e580
push 0
lea ecx, [ebp - 0x5cb]
call fcn.00432800
push eax
push 1
push 0
lea ecx, [ebp - 0x5cc]
call fcn.004329f0
push eax
call fcn.00422550
mov ecx, eax
call fcn.0046b570
lea ecx, [ebp - 0x1c]
call fcn.0041ebc0
jmp 0x438d49
mov eax, dword [ebp + 0x10]
push eax
call fcn.00466bd0
add esp, 4
test eax, eax
jne 0x438c9b
xor ecx, ecx
mov byte [ebp - 0x5d4], cl
push 0
push 0
push 0x558014
lea ecx, [ebp - 0x5d4]
call fcn.00432010
push eax
call fcn.00467760
add esp, 0x10
lea ecx, [ebp - 0x1c]
call fcn.0041ebc0
jmp 0x438d49
call fcn.00434a90
movzx edx, al
test edx, edx
je 0x438cd6
xor eax, eax
mov byte [ebp - 0x5ce], al
push 0
push 0
push 0x558018
lea ecx, [ebp - 0x5ce]
call fcn.00431b10
push eax
call fcn.00467760
add esp, 0x10
lea ecx, [ebp - 0x1c]
call fcn.0041ebc0
jmp 0x438d49
lea ecx, [ebp - 0x630]
call fcn.004315d0
lea ecx, [ebp - 0x630]
push ecx
mov ecx, 0x5a0cfc
call fcn.00433c00
lea ecx, [ebp - 0x5c0]
call fcn.0041e830
lea ecx, [ebp - 0x5c0]
call fcn.00422830
lea ecx, [ebp - 0x630]
call fcn.00437970
mov dword [ebp - 0x5f8], eax
mov ecx, 0x5a0cfc
call fcn.00437600
lea ecx, [ebp - 0x5c0]
call fcn.0041ee80
lea ecx, [ebp - 0x630]
call fcn.004319c0
lea ecx, [ebp - 0x1c]
call fcn.0041ebc0
xor edx, edx
jne 0x438b3b
call fcn.00437390
mov eax, dword [ebp - 0x5d8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x5e0], 0
lea ecx, [ebp - 0xd0]
call fcn.0046bf60
lea ecx, [ebp - 0x5cf]
call fcn.00408440
lea ecx, [ebp - 0x34]
call fcn.0041ebc0
lea ecx, [ebp - 0x5dc]
call fcn.004083d0
mov eax, dword [ebp - 0x5e0]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e6500
mov esp, ebp
pop ebp
ret 0x10