Function at 0x404b40
Capabilities:
Get hostname
Get session user name

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
push edi
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x28]
xor ebp, ebp
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x2e4]
lea edi, [esp + 0x28]
mov dword [esp + 0x24], ebp
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
xor ecx, ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], edx
mov ax, word [eax + 8]
mov word [esp + 0x20], cx
mov word [esp + 0x30], ax
mov byte [esp + 0x22], cl
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x18]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
xor edx, edx
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x10], edx
movsx eax, dx
lea edi, [esp + 0x18]
xor ebx, ebx
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2 + 0x4642dc]
mov ecx, 5
mov esi, eax
repe cmpsw word [esi], word es:[edi]
je 0x404bf6
cmp byte [eax], 0
je 0x404bf6
inc edx
cmp dx, 0xa
jl 0x404bb8
pop edi
pop esi
pop ebp
mov dword [esp + 4], edx
mov ax, 1
pop ebx
add esp, 0x2cc
ret
cmp dx, 0xa
mov dword [esp + 0x10], edx
jl 0x404c0f
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
add esp, 0x2cc
ret
mov edx, dword [0x4ca430]
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x98]
mov dword [esp + 0x14], 0x28
rep stosd dword es:[edi], eax
cmp dword [edx + 0x3dc60], 1
jne 0x404c4b
lea eax, [esp + 0x14]
lea ecx, [esp + 0x98]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
jmp 0x404c5e
lea edx, [esp + 0x14]
lea eax, [esp + 0x98]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov al, byte [esp + 0x98]
test al, al
jne 0x404ca0
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x98]
lea edx, [esp + 0x98]
rep stosd dword es:[edi], eax
mov edi, str.Standalone
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x28]
mov dl, byte [esp + 0x98]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x98]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov al, byte [esp + 0x99]
dec ecx
mov byte [esp + 0x29], dl
mov byte [esp + 0x2a], al
mov cl, byte [esp + ecx + 0x97]
mov byte [esp + 0x28], cl
mov cl, byte [esp + 0x9a]
mov byte [esp + 0x2b], cl
mov eax, dword [esp + 0x28]
push eax
mov dword [0x464280], eax
call fcn.0041d070
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileA]
add esp, 4
mov edx, dword [0x4ca404]
mov ecx, 0x14
add edx, 0x33
xor eax, eax
mov edi, 0x46428c
push edx
push str._sTUCLOCKLOCK
push 0x46428c
rep stosd dword es:[edi], eax
call fcn.0041cefa
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov edx, ecx
mov edi, 0x46428c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0x80
mov ecx, edx
push 2
push eax
and ecx, 3
push eax
push 0xc0000000
push 0x46428c
rep movsb byte es:[edi], byte [esi]
call ebx
cmp eax, 0xffffffff
jne 0x404e7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp word [esp + 0x2e0], 0
mov dword [0x464288], eax
je 0x404ed3
cmp ebp, 5
je 0x404dad
cmp ebp, 0xa
je 0x404dad
cmp ebp, 0xf
je 0x404dad
cmp ebp, 0x14
je 0x404dad
cmp ebp, 0x19
je 0x404dad
cmp ebp, 0x1e
jl 0x404dfa
mov ecx, 0x7d
xor eax, eax
lea edi, [esp + 0xe8]
push 0x46428c
rep stosd dword es:[edi], eax
lea eax, [esp + 0xec]
push 0x457a1c
push eax
call fcn.0041cefa
add esp, 0xc
lea ecx, [esp + 0xe8]
push 0x40015
push 0x45749c
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 4
jne 0x404ed3
inc ebp
cmp ebp, 0x12c
jg 0x404ed3
call fcn.0041d07d
mov edx, eax
mov ecx, 0x14
push edx
xor eax, eax
lea edi, [esp + 0x2c]
lea edx, [esp + 0x2c]
push 0x45736c
push edx
rep stosd dword es:[edi], eax
call fcn.0041cefa
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x84]
lea edx, [esp + 0x84]
rep stosd dword es:[edi], eax
mov cl, byte [esp + 0x35]
push edx
stosw word es:[edi], ax
mov al, byte [esp + 0x38]
mov byte [esp + 0x89], cl
mov byte [esp + 0x88], al
mov byte [esp + 0x8a], 0x30
call fcn.0041cfd7
add esp, 0x10
mov dword [0x46427c], eax
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x404d00
movsx ecx, word [esp + 0x10]
lea edi, [esp + 0x18]
mov dword [ecx*4 + 0x46434c], eax
lea eax, [ecx + ecx*4]
lea edx, [ecx + eax*2 + 0x4642dc]
xor ecx, ecx
mov eax, edx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov word [eax + 8], cx
mov byte [eax + 0xa], cl
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2cc
ret
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2cc
ret