Function at 0x76aa5f79
Capabilities:
Get hostname
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x380
mov eax, dword [0x76aae004]
push ebx
push esi
xor ebx, ebx
xor esi, esi
cmp dword [0x76aae51c], ebx
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x374], ebx
jne 0x76aa5fcd
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
cmp edi, ebx
je 0x76aa6498
push ebx
push edi
push 0x76aae51c
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x76aa6001
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x76aae3a4]
cmp eax, ebx
je 0x76aa60a8
cmp eax, 0xffffffff
je 0x76aa60a8
imul eax, eax, 0xffffd8f0
cdq
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], edx
lea eax, [ebp - 0x380]
jmp 0x76aa60aa
mov dword [0x76aae51c], edi
mov eax, dword [0x76aae518]
inc dword [0x76aae518]
test eax, eax
jne 0x76aa6488
cmp dword [0x76aae534], ebx
jne 0x76aa603c
push 0x76aae534
push 0x20019
push ebx
push 0x76aa64d8
push 0x80000002
call sub.ADVAPI32.dll_RegOpenKeyExW
mov edx, 0x76aaef80
xor eax, eax
push 1
mov edi, edx
mov ecx, 0x82
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x370]
push eax
push edx
lea eax, [ebp - 0x36c]
push eax
push ebx
push 0x76aa6598
push dword [0x76aae534]
mov dword [ebp - 0x370], 0x208
mov dword [ebp - 0x36c], ebx
call fcn.76aa7e91
test eax, eax
jne 0x76aa60d3
push 0x76aae518
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, dword [0x76aae51c]
cmp eax, ebx
je 0x76aa609d
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [ebp - 0x374], ebx
jmp 0x76aa6498
xor eax, eax
push eax
push ebx
push dword [0x76aae51c]
call dword [sym.imp.ntdll.dll_NtWaitForSingleObject]
mov esi, eax
cmp esi, ebx
je 0x76aa6007
push esi
call fcn.76aa7e50
mov dword [ebp - 0x374], eax
jmp 0x76aa6498
push 4
pop esi
push 1
lea eax, [ebp - 0x370]
push eax
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x36c]
push eax
push ebx
push 0x76aa2684
push dword [0x76aae534]
mov dword [ebp - 0x370], esi
mov dword [ebp - 0x36c], ebx
mov dword [ebp - 0x378], ebx
call fcn.76aa7e91
test eax, eax
jne 0x76aa613a
cmp dword [ebp - 0x36c], esi
jne 0x76aa613a
cmp dword [ebp - 0x378], 1
jne 0x76aa613a
dec dword [0x76aae518]
mov dword [ebp - 0x374], 0x422
jmp 0x76aa644f
mov esi, dword [sym.imp.KERNEL32.dll_GetComputerNameW]
mov edi, 0x76aaef68
push edi
push dword [0x76aae520]
mov dword [0x76aaef68], ebx
call esi
inc dword [0x76aaef68]
mov eax, dword fs:[0x18]
mov ecx, dword [0x76aaef68]
mov eax, dword [eax + 0x30]
add ecx, ecx
push ecx
push 8
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
cmp eax, ebx
mov dword [0x76aae520], eax
jne 0x76aa6188
mov dword [0x76aaef68], ebx
jmp 0x76aa61ad
push edi
push eax
call esi
test eax, eax
je 0x76aa6180
mov eax, dword [0x76aaef68]
mov ecx, dword [0x76aae520]
mov word [ecx + eax*2], bx
mov eax, dword [0x76aaef68]
lea eax, [eax + eax + 2]
mov dword [0x76aaef68], eax
push dword [0x76aae534]
call fcn.76aa58fe
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 4
pop esi
push 1
mov dword [0x76aae52c], eax
lea eax, [ebp - 0x370]
push eax
push 0x76aae3a8
lea eax, [ebp - 0x36c]
push eax
push ebx
push 0x76aa6570
push dword [0x76aae534]
mov dword [ebp - 0x36c], ebx
mov dword [ebp - 0x370], esi
call fcn.76aa7e91
test eax, eax
jne 0x76aa6209
cmp dword [ebp - 0x36c], esi
je 0x76aa6213
mov dword [0x76aae3a8], 0x10
cmp dword [0x76aae53c], ebx
jne 0x76aa63bb
test byte [0x76aae3a8], 0x10
je 0x76aa63bb
push 0x76aa65c8
mov esi, 0x76aaf1a0
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x10
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call sub.msvcrt.dll__ultow
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
add esp, 0xc
lea eax, [ebp - 0x44]
push eax
push esi
call edi
push 0x76aa65b8
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push esi
lea eax, [ebp - 0x24c]
push eax
call edi
push 0x76aa65ac
lea eax, [ebp - 0x24c]
push eax
call edi
push 0x104
mov edi, 0x76aaed60
push edi
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push ebx
push 0x14000100
push 4
push ebx
push 3
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [0x76aae53c], eax
je 0x76aa6395
push esi
mov esi, 0x4000
push esi
push ebx
push 4
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
cmp eax, ebx
mov dword [0x76aae540], eax
je 0x76aa6367
push esi
push ebx
push ebx
push 2
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, ebx
mov dword [0x76aae544], eax
je 0x76aa6329
mov edx, eax
mov esi, 0x1234567
cmp dword [edx + 0xc], esi
je 0x76aa63bb
mov ecx, 0x1000
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx], ebx
mov dword [edx + 4], 0x7f
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
jmp 0x76aa63bb
cmp dword [0x76aae4f0], 3
jb 0x76aa6349
push ebx
push ebx
push ebx
push 0xa
push 0x227
push 0x76aa25c8
call fcn.76aa5e47
add esp, 0x18
push dword [0x76aae540]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [0x76aae53c]
mov dword [0x76aae540], ebx
call esi
jmp 0x76aa63b5
cmp dword [0x76aae4f0], 3
jb 0x76aa6387
push ebx
push ebx
push ebx
push 0xa
push 0x230
push 0x76aa25c8
call fcn.76aa5e47
add esp, 0x18
push dword [0x76aae53c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x76aa63b5
cmp dword [0x76aae4f0], 3
jb 0x76aa63b5
push ebx
push ebx
push ebx
push 0xa
push 0x237
push 0x76aa25c8
call fcn.76aa5e47
add esp, 0x18
mov dword [0x76aae53c], ebx
call fcn.76aa99df
push dword [0x76aae52c]
xor esi, esi
inc esi
mov dword [0x76aae548], esi
mov dword [0x76aae528], ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 4
pop edi
push esi
lea eax, [ebp - 0x370]
push eax
push 0x76aae510
lea eax, [ebp - 0x36c]
push eax
push ebx
push 0x76aa6548
push dword [0x76aae534]
mov dword [ebp - 0x36c], ebx
mov dword [ebp - 0x370], edi
call fcn.76aa7e91
cmp eax, ebx
jne 0x76aa6423
cmp dword [ebp - 0x36c], edi
jne 0x76aa6429
cmp dword [0x76aae510], ebx
je 0x76aa6429
mov dword [0x76aae510], ebx
cmp dword [0x76aae510], esi
je 0x76aa6449
mov dword [0x76aae4d8], ebx
mov dword [0x76aae4dc], ebx
mov dword [0x76aae4e0], ebx
mov dword [0x76aae508], ebx
mov dword [ebp - 0x374], ebx
push 0x47
pop ecx
xor eax, eax
lea edi, [ebp - 0x368]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x368]
push eax
mov dword [ebp - 0x368], 0x11c
call dword [sym.imp.ntdll.dll_RtlGetVersion]
mov esi, eax
cmp esi, ebx
jl 0x76aa6488
cmp byte [ebp - 0x24e], 1
jne 0x76aa6488
mov dword [0x76aae3ac], ebx
mov eax, dword [0x76aae51c]
cmp eax, ebx
je 0x76aa6498
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x76aae4f0], 4
jb 0x76aa64bf
push ebx
push 4
push 0x76aae518
push esi
push ebx
push 0xa
push 0x281
push 0x76aa25c8
call fcn.76aa5e47
add esp, 0x20
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x374]
pop edi
pop esi
pop ebx
call fcn.76aac8aa
leave
ret