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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b7e7d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14c
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x10
push eax
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
jne 0x55887d
mov dword [eax], 0xa
mov eax, dword fs:[0x2c]
push esi
push edi
mov ecx, dword [eax]
mov eax, dword [ecx + 0x4d0]
lea esi, [ecx + 0xfc]
test al, 1
jne 0x5588de
or eax, 1
mov dword [esi], 0
mov dword [esi + 4], 0
mov word [esi + 8], 0
mov dword [ecx + 0x4d0], eax
mov ax, word [str.4_2F]
mov byte [esi + 0xa], al
mov byte [esi + 0xb], ah
mov eax, dword [0x5bfb48]
shr eax, 8
mov byte [esi + 0xd], al
mov ax, word [0x5bfb4a]
mov byte [esi + 0xc], 0x32
mov byte [esi + 0xe], al
mov byte [esi + 0xf], ah
mov byte [esi + 0x10], 0x82
cmp byte [esi + 9], 0
jne 0x55894d
xor edx, edx
mov ecx, dword [esi + 4]
mov edi, dword [esi]
lea eax, [ecx + 1]
cmp edi, eax
jne 0x5588fe
inc cl
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x5588e6
lea eax, [ecx + 2]
cmp edi, eax
jne 0x558912
add cl, 2
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x5588e6
cmp edi, ecx
je 0x55893e
lea eax, [ecx + 4]
cmp edi, eax
jne 0x55892a
add cl, 3
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x5588e6
lea eax, [ecx + 5]
cmp edi, eax
jne 0x558947
add cl, 4
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x5588e6
lea ecx, [edx + esi]
lea eax, [edx + 0x7c]
xor byte [ecx + 0xa], al
inc edx
cmp edx, 7
jb 0x5588e6
mov byte [esi + 9], 1
xorps xmm0, xmm0
add esi, 0xa
mov dword [ebp - 0x34], 0
mov ecx, esi
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x44], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x558970
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x44]
call fcn.005a5840
mov dword [ebp - 4], 0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x444]
lea esi, [ecx + 0x9c]
test al, 1
jne 0x5589f4
or eax, 1
mov dword [esi], 0
mov dword [ecx + 0x444], eax
mov ax, word [0x5bfad2]
mov dword [esi + 4], 0
mov word [esi + 8], 0
mov byte [esi + 0xa], al
mov byte [esi + 0xb], ah
mov eax, dword [0x5bfad4]
shr eax, 8
mov byte [esi + 0xd], al
mov ax, word [0x5bfad6]
mov byte [esi + 0xe], al
mov byte [esi + 0xf], ah
mov eax, dword [0x5bfad8]
shr eax, 8
mov byte [esi + 0xc], 0x17
mov byte [esi + 0x10], 0xe6
mov byte [esi + 0x11], al
cmp byte [esi + 9], 0
jne 0x558a67
xor edx, edx
nop dword [eax]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
lea eax, [ecx + 1]
cmp edi, eax
jne 0x558a18
inc cl
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x558a00
lea eax, [ecx + 2]
cmp edi, eax
jne 0x558a2c
add cl, 2
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x558a00
cmp edi, ecx
je 0x558a58
lea eax, [ecx + 4]
cmp edi, eax
jne 0x558a44
add cl, 3
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x558a00
lea eax, [ecx + 5]
cmp edi, eax
jne 0x558a61
add cl, 4
lea eax, [edx + esi]
xor byte [eax + 0xa], cl
inc dword [esi]
jmp 0x558a00
lea ecx, [edx + esi]
lea eax, [edx + 0x7d]
xor byte [ecx + 0xa], al
inc edx
cmp edx, 8
jb 0x558a00
mov byte [esi + 9], 1
xorps xmm0, xmm0
add esi, 0xa
mov dword [ebp - 0x1c], 0
mov ecx, esi
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x558a88
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.005a5840
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x101
push eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea ecx, [ebp - 0x54]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x558ac0
mov edi, dword [ebp - 0x44]
sub ecx, edx
cmp dword [ebp - 0x30], 0xf
lea edx, [ebp - 0x44]
mov esi, dword [ebp - 0x34]
cmova edx, edi
cmp esi, ecx
jne 0x558b39
lea ecx, [ebp - 0x54]
sub esi, 4
jb 0x558af6
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x558afb
add edx, 4
add ecx, 4
sub esi, 4
jae 0x558ae5
cmp esi, 0xfffffffc
je 0x558b2f
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x558b28
cmp esi, 0xfffffffd
je 0x558b2f
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x558b28
cmp esi, 0xfffffffe
je 0x558b2f
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x558b28
cmp esi, 0xffffffff
je 0x558b2f
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x558b2f
sbb eax, eax
or eax, 1
jmp 0x558b31
xor eax, eax
test eax, eax
je 0x558bb8
lea edx, [ebp - 0x158]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x558b42
mov esi, dword [ebp - 0x1c]
sub edx, ecx
cmp dword [ebp - 0x18], 0xf
lea ecx, [ebp - 0x2c]
cmova ecx, dword [ebp - 0x2c]
cmp esi, edx
jne 0x558bc0
lea edx, [ebp - 0x158]
sub esi, 4
jb 0x558b79
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x558b7e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x558b68
cmp esi, 0xfffffffc
je 0x558bb2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x558bab
cmp esi, 0xfffffffd
je 0x558bb2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x558bab
cmp esi, 0xfffffffe
je 0x558bb2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x558bab
cmp esi, 0xffffffff
je 0x558bb2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x558bb2
sbb eax, eax
or eax, 1
jmp 0x558bb4
xor eax, eax
test eax, eax
jne 0x558bc0
xor eax, eax
mov dword [eax], 0xa
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x558bf0
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x558be6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x558c2f
push ecx
push edx
call fcn.005a6175
add esp, 8
mov eax, dword [ebp - 0x30]
cmp eax, 0xf
jbe 0x558c1f
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x558c15
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x558c2f
push ecx
push edi
call fcn.005a6175
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.005ab6fa
int3