Function at 0x42bfd0
Capabilities:
Check mutex on windows
Create thread
Get session user name
Hide graphical window

Disassembly:
sub esp, 0x60c
mov eax, dword [0x4629b4]
xor eax, esp
mov dword [esp + 0x608], eax
push ebx
mov ebx, dword [esp + 0x614]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push edi
mov edi, dword [esp + 0x624]
push 0x400
mov dword [esp + 0x10], ebx
call esi
push 0
call esi
cmp eax, 0x400
jne 0x42c559
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
cmp eax, 1
je 0x42c559
push 0x2c8
lea eax, [esp + 0x148]
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov dword [esp + 0x140], 0x10010
lea eax, [esp + 0x140]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x42c097
cmp dword [esp + 0x144], 0
jne 0x42c559
cmp dword [esp + 0x148], 0
jne 0x42c559
cmp dword [esp + 0x14c], 0
jne 0x42c559
cmp dword [esp + 0x150], 0
jne 0x42c559
push ebp
call fcn.00410480
mov ebp, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.ntdll
call ebp
test eax, eax
jne 0x42c0b9
push str.ntdll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.00419d90
cmp dword [0x46c170], 5
jl 0x42c558
cmp dword [0x46c1f4], 1
jne 0x42c558
call fcn.00410400
mov dword [0x46c31c], ebx
call fcn.00428040
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42c0f0
sub ecx, edx
sar ecx, 1
je 0x42c10a
push edi
call fcn.0041f9a0
add esp, 4
xor ebx, ebx
cmp dword [0x46115c], 1
jne 0x42c11c
call fcn.00410680
mov ebx, eax
push 0x16
mov ecx, 0x469ae4
call fcn.0040df90
mov ecx, eax
call fcn.00409570
push str.User32
mov esi, eax
call ebp
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4699a0], eax
test eax, eax
je 0x42c14b
call eax
cmp dword [0x46c1f4], 2
jne 0x42c558
push 0xdc
lea eax, [esp + 0x6c]
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov dword [esp + 0xac], 0xdc
lea eax, [esp + 0x68]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov dword [0x46c0e0], eax
mov eax, dword [esp + 0x120]
mov dword [0x46c0e4], ecx
mov dword [0x46c0e8], eax
test ebx, ebx
jne 0x42c1d5
mov eax, dword [0x4610fc]
cmp ecx, 0x438
mov edx, 0xb
cmovg eax, edx
cmp ecx, 0x5a0
mov edx, 0xc
cmovg eax, edx
mov dword [0x4610fc], eax
inc dword [0x46c1f4]
call fcn.00411660
push 0x208
lea eax, [esp + 0x414]
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov dword [esp + 0x48], 0x103
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x414]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push 0x46c7b8
lea eax, [esp + 0x414]
push eax
push 0x447380
push 0xffffffffffffffff
push eax
call fcn.004013f0
add esp, 0x14
lea eax, [esp + 0x410]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x42c271
test esi, esi
je 0x42c25b
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x46c7b8
push edi
call fcn.0042bf80
add esp, 8
test eax, eax
je 0x42c558
push 0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x30
mov dword [0x46c300], eax
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0042f620
add esp, 0xc
mov dword [esp + 0x18], 0x30
mov dword [esp + 0x20], 0x429a00
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x410]
mov dword [esp + 0x40], eax
mov eax, dword [0x46c300]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
cmp dword [0x46c1f4], 3
movzx esi, ax
je 0x42c2e8
call fcn.00420d90
test si, si
je 0x42c558
push 0
push dword [0x46c31c]
lea eax, [esp + 0x418]
push 0
push 0
push dword [0x46c0e4]
push 0x208
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push eax
push 0xa080080
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x46c138], eax
test eax, eax
je 0x42c558
cmp dword [0x46c1e4], 2
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
jge 0x42c41e
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x3e8
push 0x64
push eax
call esi
push 0
push 0x1f4
push 0x46b
push dword [0x46c138]
call esi
push 0
push 0x927c0
push 0x65
push dword [0x46c138]
call esi
mov ecx, dword [0x4610f8]
mov eax, dword [0x46c76c]
add ecx, 9
mov edx, dword [0x46c0e0]
add eax, ecx
mov ecx, dword [0x46c0d0]
imul eax, ecx
push 0
push dword [0x46c0e4]
sub edx, eax
mov eax, ecx
shl eax, 4
sub eax, ecx
mov dword [0x46c114], edx
shl eax, 3
push eax
push dword [0x46c118]
push edx
push 1
push dword [0x46c138]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 1
push 0
push 0
push dword [0x46c138]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 1
push dword [0x46c138]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0
push 0x42b6c0
push 0
push 0
call edi
push 0
push 0
push 0
push 0x421170
push 0
push 0
mov dword [0x46c30c], eax
call edi
mov dword [0x46c318], eax
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [esp + 0x4c]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x42c558
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [esp + 0x4c]
push eax
call ebx
lea eax, [esp + 0x4c]
push eax
call ebp
cmp dword [0x46c1e8], 1
jne 0x42c48f
cmp dword [0x46c1ec], 0
mov dword [0x46c1e8], 0
jne 0x42c48f
push 0
push 0
push 0
push 0x421000
push 0
push 0
mov dword [0x46c1ec], 1
call edi
mov dword [0x46c304], eax
cmp dword [0x46c218], 1
jne 0x42c4cb
cmp dword [0x46c21c], 0
mov dword [0x46c218], 0
jne 0x42c4cb
push 0
push 0
push 0
push 0x40e620
push 0
push 0
mov dword [0x46c21c], 1
call edi
mov dword [0x46c310], eax
cmp dword [0x46c1f0], 1
jne 0x42c507
cmp dword [0x46c214], 0
mov dword [0x46c1f0], 0
jne 0x42c507
push 0
push 0
push 0
push 0x420f90
push 0
push 0
mov dword [0x46c214], 1
call edi
mov dword [0x46c308], eax
cmp dword [0x46c220], 1
jne 0x42c543
cmp dword [0x46c224], 0
mov dword [0x46c220], 0
jne 0x42c543
push 0
push 0
push 0
push 0x420320
push 0
push 0
mov dword [0x46c224], 1
call edi
mov dword [0x46c314], eax
push 0
push 0
push 0
lea eax, [esp + 0x58]
push eax
call esi
test eax, eax
jne 0x42c445
pop ebp
mov ecx, dword [esp + 0x614]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0042d960
add esp, 0x60c
ret 0x10