Function at 0x44c820
Capabilities:
Check mutex on windows
Packed with generic packer
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47e52a
mov eax, dword fs:[0]
push eax
sub esp, 0x7f8
mov eax, dword [0x4964d0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0xd], 1
call fcn.00447b90
mov eax, dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [sym.imp.USER32.dll_LoadStringA]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
push 0x44b710
call fcn.0046c2fe
add esp, 4
mov eax, dword [0x495a1c]
xor eax, dword [0x495a58]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4981c0
lea ecx, [ebp - 0x124]
push ecx
call fcn.0046c279
add esp, 0x10
lea edx, [ebp - 0x124]
push edx
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
je 0x44c8d9
mov byte [ebp - 0xd], 0
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x44ca7a
mov ecx, dword [0x495a48]
xor ecx, dword [0x495a80]
xor ecx, dword [0x495a64]
and ecx, 0x20
je 0x44ca7a
mov edx, dword [0x495a78]
xor edx, dword [0x495a2c]
xor edx, dword [0x495a1c]
push edx
push 0x4981b8
lea eax, [ebp - 0x124]
push eax
call fcn.0046c279
add esp, 0xc
lea ecx, [ebp - 0x124]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x44ca7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x44ca7a
push 0x7530
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x44c98d
cmp dword [ebp - 0x130], 0x80
jne 0x44ca70
mov eax, dword [0x495a78]
xor eax, dword [0x495a2c]
xor eax, dword [0x495a1c]
push eax
push 0x4981b0
lea ecx, [ebp - 0x124]
push ecx
call fcn.0046c279
add esp, 0xc
mov dword [ebp - 0x138], 0
jmp 0x44c9ce
mov edx, dword [ebp - 0x138]
add edx, 1
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0x12c
jge 0x44ca07
lea eax, [ebp - 0x124]
push eax
push 0x4981a4
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x44c9fd
jmp 0x44ca07
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x44c9bf
cmp dword [ebp - 0x134], 0
je 0x44ca63
mov ecx, dword [0x495a78]
xor ecx, dword [0x495a2c]
xor ecx, dword [0x495a1c]
mov dword [ebp - 0x144], ecx
mov edx, dword [0x4a3b60]
push edx
call fcn.0046b7d0
add esp, 4
add eax, 1
mov dword [ebp - 0x140], eax
mov eax, dword [0x4a3b60]
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x144]
push ecx
push 0
push 0x4a
mov edx, dword [ebp - 0x134]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, 1
jmp 0x44d0d7
push 1
call fcn.0044d0f0
add esp, 4
movzx ecx, byte [ebp - 0xd]
test ecx, ecx
je 0x44cde6
mov edx, dword [0x495a48]
xor edx, dword [0x495a80]
xor edx, dword [0x495a64]
and edx, 0x40
jne 0x44cde6
push 0x200
lea eax, [ebp - 0x344]
push eax
push 0x49819c
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x44cde6
push pe_nt_image_headers32
push 0x23
lea ecx, [ebp - 0x344]
push ecx
call fcn.00469380
add esp, 0xc
mov byte [ebp - 0x27c], 0
mov dword [ebp - 0x448], 1
jmp 0x44cb02
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0x40
jg 0x44cb3c
mov eax, dword [ebp - 0x448]
push eax
push 0x498194
lea ecx, [ebp - 0x444]
push ecx
call fcn.0046c279
add esp, 0xc
lea edx, [ebp - 0x344]
push edx
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
jmp 0x44caf3
mov ecx, dword [0x495a48]
xor ecx, dword [0x495a80]
xor ecx, dword [0x495a64]
and ecx, 0x10
jne 0x44cde6
lea edx, [ebp - 0x624]
push edx
call fcn.0045dd70
add esp, 4
mov dword [ebp - 4], 0
lea eax, [ebp - 0x708]
push eax
call fcn.004545f0
add esp, 4
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7fc], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x7fc]
push edx
lea ecx, [ebp - 0x4ac]
call fcn.0045b3c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x708]
call fcn.004480e0
cmp dword [0x4a3b58], 1
jne 0x44cbe8
cmp dword [ebp - 0x618], 0
jne 0x44cbe8
lea ecx, [ebp - 0x4ac]
call fcn.0045c500
movzx eax, al
test eax, eax
jne 0x44cbe8
lea ecx, [ebp - 0x4ac]
call fcn.0045c400
mov dword [ebp - 0x618], eax
push 0
lea ecx, [ebp - 0x644]
push ecx
call fcn.0045d390
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x644]
call fcn.0044d590
movzx edx, al
test edx, edx
je 0x44cc54
mov dword [ebp - 0x70c], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x644]
call fcn.004480e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4ac]
call fcn.00447ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x624]
call fcn.0044d3f0
mov eax, dword [ebp - 0x70c]
jmp 0x44d0d7
lea eax, [ebp - 0x78c]
push eax
call fcn.0045df40
add esp, 4
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x800]
mov dword [ebp - 0x804], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x804]
push edx
lea ecx, [ebp - 0x770]
call fcn.0044d370
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x644]
call fcn.0044d570
push eax
lea ecx, [ebp - 0x7ec]
call fcn.0044d370
mov byte [ebp - 4], 7
lea eax, [ebp - 0x4bc]
push eax
lea ecx, [ebp - 0x624]
push ecx
push 0x4a41c0
push 0x4a41c0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x770]
push edx
lea eax, [ebp - 0x7ec]
push eax
call fcn.0045d6f0
add esp, 0x28
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x70d], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x7ec]
call fcn.00447ac0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x770]
call fcn.00447ac0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x78c]
call fcn.0044d4b0
movzx ecx, byte [ebp - 0x70d]
test ecx, ecx
je 0x44cd8f
mov dword [0x4a3d98], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x498174
push 0x4a3da0
call fcn.0046c279
add esp, 0xc
mov dword [ebp - 0x7f0], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x644]
call fcn.004480e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4ac]
call fcn.00447ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x624]
call fcn.0044d3f0
mov eax, dword [ebp - 0x7f0]
jmp 0x44d0d7
push 0x2710
mov edx, dword [ebp - 0x4bc]
push edx
call dword [sym.imp.USER32.dll_WaitForInputIdle]
mov dword [ebp - 0x7f4], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x644]
call fcn.004480e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4ac]
call fcn.00447ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x624]
call fcn.0044d3f0
mov eax, dword [ebp - 0x7f4]
jmp 0x44d0d7
mov eax, dword [0x495a48]
xor eax, dword [0x495a80]
xor eax, dword [0x495a64]
and eax, 0x10
je 0x44d044
mov ecx, dword [0x495a1c]
xor ecx, dword [0x495a58]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4981c0
lea edx, [ebp - 0x124]
push edx
call fcn.0046c279
add esp, 0x10
lea eax, [ebp - 0x124]
push eax
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
test eax, eax
jne 0x44d042
push 1
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov byte [ebp - 0x645], 0
push 0x498168
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0
je 0x44cea6
push 0x498154
mov ecx, dword [ebp - 0x64c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x6e8], eax
cmp dword [ebp - 0x6e8], 0
je 0x44cea6
call dword [ebp - 0x6e8]
test eax, eax
je 0x44cea6
mov byte [ebp - 0x645], 1
mov dword [ebp - 0x6e4], 0x94
lea edx, [ebp - 0x6e4]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x6d4], 2
jne 0x44cf27
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x44cee9
add ebp, ebx
and ch, bl
jmp 0x44cf0a
xor ebx, ebx
je 0x44ceed
jmp 0x44cefc
mov ecx, 0x34f9c987
nop
stc
je 0x44cf00
jmp 0x44cf30
xor eax, eax
je 0x44cef2
mov eax, 0x4840c987
test eax, eax
jne 0x44cee6
jmp 0x92ab6c6f
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov eax, dword fs:[0x30]
movzx eax, byte [eax + 2]
or al, al
jne 0x44cf3e
jmp 0x44cfaf
jo 0x44cf30
jl 0x44cf2e
jmp 0x44cf32
je 0x44cf2b
jmp 0x44cf2b
mov eax, dword fs:[0x20]
or eax, eax
jne 0x44cf3e
jmp 0x44cfaf
pushal
xor eax, eax
jne 0x44cf45
jmp 0x44cf5a
jmp 0x44cf7a
xor eax, eax
jne 0x44cf62
jp 0x44cf58
jo 0x44cf5c
jmp 0x44cf5d
jb 0x44cf61
jns 0x44cf46
call dword [0x74097900]
invalid
jns 0x44cf63
je 0x44cf4c
jmp 0x44cee5
xchg ebx, ebx
jp 0x44cf51
mov al, byte [0x5c66133]
test byte [ebx], bh
dec edx
add byte [ecx], al
xor esp, dword [ecx - 0x3a]
add eax, 0x4a3b84
add dword [eax - 9], edx
ror byte [edi], 1
enter 0x7358, 0
popal
mov byte [0x4a3b84], 1
push eax
not eax
bswap eax
pop eax
jae 0x44cf73
pushfd
pushal
jmp 0x44cfa2
sub edx, edx
jo 0x44cf88
jmp 0x44cf99
xor ecx, ecx
je 0x44cf80
jmp 0x44cf92
stc
xor ecx, 3
je 0x44cf18
jmp 0x44cf8f
jmp 0x44cf9d
jae 0x44cf8b
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x44cf82
jmp 0x44cf7c
sbb al, 0xdb
jmp 0x44cfa5
jmp 0x44cf76
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
movzx eax, byte [ebp - 0x645]
test eax, eax
je 0x44cfe8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x49814c
lea ecx, [ebp - 0x124]
push ecx
call fcn.0046c279
add esp, 0xc
lea edx, [ebp - 0x124]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
jmp 0x44d042
cmp dword [0x4a3b58], 0
sete al
push eax
call fcn.00458d00
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x44d02e
mov dword [0x4a3d98], 6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x49813c
push 0x4a3da0
call fcn.0046c279
add esp, 0xc
xor eax, eax
jmp 0x44d0d7
push 0
call fcn.0044d0f0
add esp, 4
mov eax, 1
jmp 0x44d0d7
jmp 0x44d060
mov edx, dword [0x495a9c]
xor edx, dword [0x495a80]
xor edx, dword [0x495a64]
and edx, 2
je 0x44d060
call fcn.00446be0
call fcn.0044b740
mov dword [ebp - 0x128], eax
push 0
call fcn.0044d0f0
add esp, 4
push 0
call fcn.0046c2fe
add esp, 4
cmp dword [ebp - 0x128], 1
jne 0x44d09c
push 0x4a3b58
call dword [0x4a3b80]
add esp, 4
mov dword [ebp - 0x128], eax
push 0x44b710
call fcn.0046c2fe
add esp, 4
cmp dword [0x4a3b7c], 0
je 0x44d0b8
call dword [0x4a3b7c]
cmp dword [0x4a3d90], 0
je 0x44d0d1
push 0
push 0
mov eax, dword [0x4a3d8c]
push eax
call dword [0x4a3d90]
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00469ad5
mov esp, ebp
pop ebp
ret