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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffba8
push ebx
push esi
push edi
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x408], eax
mov ebx, dword [ebp - 0x408]
mov ebx, dword [ebx + 0x58]
mov eax, ebx
call fcn.00408154
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x420], eax
mov edi, 0x599dfc
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x5992bd
mov eax, dword [0x66d3a0]
cmp byte [eax], 0
je 0x599282
mov eax, dword [0x66d234]
cmp dword [eax], 0
je 0x599282
mov eax, dword [0x66d234]
mov eax, dword [eax]
lea edx, [eax + 2]
lea eax, [ebp - 0x402]
mov ecx, 0xff
call fcn.004081f4
jmp 0x599297
mov edx, 0x599e08
lea eax, [ebp - 0x402]
mov ecx, 0x103
call fcn.004081f4
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e18
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x59932b
mov edx, 0x599e24
lea eax, [ebp - 0x402]
mov ecx, 0x20
call fcn.00414414
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x418]
lea eax, [ebp + eax*2 - 0x402]
mov cl, 1
mov edx, 0x2f
call fcn.00594fac
lea eax, [ebp - 0x402]
push eax
push 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e34
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x59937a
mov edx, 0x599e40
lea eax, [ebp - 0x402]
mov ecx, 0x20
call fcn.00414414
lea eax, [ebp - 0x402]
push eax
push 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e50
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x59949d
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x59949d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004807d8
test al, al
je 0x5993ee
mov edx, 0x599e5c
lea eax, [ebp - 0x402]
mov ecx, 0x103
call fcn.004081f4
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
jmp 0x59949d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
add eax, 0x20c
call fcn.004670cc
test al, al
jne 0x599411
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp byte [eax + 0xf62], 0
jne 0x59945b
push 0x1ff
push 1
push 0
lea ecx, [ebp - 0x402]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
lea edx, [eax + 0x20c]
xor eax, eax
call fcn.004909e0
lea eax, [ebp - 0x402]
push eax
push 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
jmp 0x59949d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
lea edx, [eax + 0xf62]
lea eax, [ebp - 0x402]
mov ecx, 0x7f
call fcn.004081f4
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e6c
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x59950b
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x59950b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004807d8
test al, al
jne 0x59950b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
lea edx, [eax + 0xfc2]
lea eax, [ebp - 0x402]
mov ecx, 0x7f
call fcn.004081f4
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e7c
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599579
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x599579
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004807d8
test al, al
jne 0x599579
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
lea edx, [eax + 0x1002]
lea eax, [ebp - 0x402]
mov ecx, 0x14
call fcn.004081f4
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e88
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x5995f4
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x5995f4
lea eax, [ebp - 0x428]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov ecx, dword [edx + 0x14f4]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14f8]
mov dword [eax + 4], ecx
push 0x103
lea ecx, [ebp - 0x428]
mov edx, 0x599e98
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599e9c
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599668
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x599668
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00490a00
lea ecx, [ebp - 0x428]
mov dword [ecx], eax
mov dword [ecx + 4], edx
push 0x103
lea ecx, [ebp - 0x428]
mov edx, 0x599eac
lea eax, [ebp - 0x402]
call fcn.004112e0
lea eax, [ebp - 0x402]
push eax
push 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599eb0
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599707
mov eax, dword [ebp - 0x408]
cmp dword [eax], 0
jne 0x5996ba
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x408]
mov dword [edx + 0x30], eax
push 0x7f
mov ecx, dword [ebp - 0x408]
add ecx, 0x30
mov edx, 0x599ebc
lea eax, [ebp - 0x402]
call fcn.004112e0
jmp 0x5996e1
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x428], eax
push 0x7f
lea ecx, [ebp - 0x428]
mov edx, 0x599ec4
lea eax, [ebp - 0x402]
call fcn.004112e0
lea eax, [ebp - 0x402]
push eax
push 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599ecc
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599773
lea eax, [ebp - 0x428]
mov edx, dword [ebp - 0x408]
mov ecx, dword [edx + 0x14]
mov dword [eax], ecx
mov ecx, dword [edx + 0x18]
mov dword [eax + 4], ecx
push 0x103
lea ecx, [ebp - 0x428]
mov edx, 0x599e98
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599ed8
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x5997df
lea eax, [ebp - 0x428]
mov edx, dword [ebp - 0x408]
mov ecx, dword [edx + 0x1c]
mov dword [eax], ecx
mov ecx, dword [edx + 0x20]
mov dword [eax + 4], ecx
push 0x103
lea ecx, [ebp - 0x428]
mov edx, 0x599e98
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599ee4
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599869
mov eax, dword [ebp - 0x408]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
push edx
push eax
mov eax, dword [ebp - 0x408]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
lea ecx, [ebp - 0x428]
mov dword [ecx], eax
mov dword [ecx + 4], edx
push 0x103
lea ecx, [ebp - 0x428]
mov edx, 0x599e98
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599ef0
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x5998ea
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x14f0]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x408]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
call fcn.00405158
lea ecx, [ebp - 0x428]
mov dword [ecx], eax
mov dword [ecx + 4], edx
push 0x103
lea ecx, [ebp - 0x428]
mov edx, 0x599eac
lea eax, [ebp - 0x402]
call fcn.004112e0
lea eax, [ebp - 0x402]
push eax
push 1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599efc
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599942
push 0x7f
mov ecx, dword [ebp - 0x408]
add ecx, 0x26c
mov edx, 0x599f0c
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599f38
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x59999a
push 0x7f
mov ecx, dword [ebp - 0x408]
add ecx, 0x27a
mov edx, 0x599f0c
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599f44
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599bb5
xor eax, eax
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x40c]
cmp dword [eax + 0x34], 0
jne 0x5999ca
cmp dword [eax + 0x30], 0
je 0x599a08
lea eax, [ebp - 0x428]
mov edx, dword [ebp - 0x40c]
mov ecx, dword [edx + 0x30]
mov dword [eax], ecx
mov ecx, dword [edx + 0x34]
mov dword [eax + 4], ecx
push 0x7f
lea ecx, [ebp - 0x428]
mov edx, 0x599f50
mov eax, dword [ebp - 0x418]
lea eax, [ebp + eax - 0x402]
call fcn.004112cc
add dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x40c]
cmp byte [eax + 0x2c], 0
jne 0x599b5e
mov eax, dword [ebp - 0x40c]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x438], edx
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x14e0]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x434], 0
jne 0x599a5d
cmp dword [ebp - 0x438], 0
jae 0x599ade
jmp 0x599a5f
jge 0x599ade
mov eax, dword [ebp - 0x43c]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x438]
mov edx, dword [ebp - 0x434]
neg eax
adc edx, 0
neg edx
call fcn.00405210
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
jbe 0x599aa2
mov eax, dword [ebp - 0x43c]
sub eax, dword [ebp - 0x42c]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x43c]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x438]
mov edx, dword [ebp - 0x434]
push edx
push eax
mov eax, dword [ebp - 0x42c]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
call fcn.0040517c
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], edx
jmp 0x599b26
mov eax, dword [ebp - 0x43c]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x438]
mov edx, dword [ebp - 0x434]
call fcn.00405210
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x43c]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 0x438]
mov edx, dword [ebp - 0x434]
call fcn.0040517c
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], edx
lea eax, [ebp - 0x428]
mov edx, dword [ebp - 0x448]
mov dword [eax], edx
mov edx, dword [ebp - 0x444]
mov dword [eax + 4], edx
push 0x7f
lea ecx, [ebp - 0x428]
mov edx, 0x599f64
mov eax, dword [ebp - 0x418]
lea eax, [ebp + eax - 0x402]
call fcn.004112cc
jmp 0x599b8f
mov eax, dword [ebp - 0x40c]
cmp dword [eax + 0x34], 0
jne 0x599b8f
cmp dword [eax + 0x30], 0
jne 0x599b8f
push 0x7f
lea ecx, [ebp - 0x428]
mov edx, 0x599f78
mov eax, dword [ebp - 0x418]
lea eax, [ebp + eax - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov eax, dword [0x66d7e4]
cmp dword [eax + 0x10], 2
setae byte [ebp - 0x40d]
mov edi, 0x599f7c
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599c4f
mov dword [ebp - 0x414], 0x1ff
cmp byte [ebp - 0x40d], 0
je 0x599c03
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x402]
push eax
call sub.kernel32.dll_GetComputerNameW
test eax, eax
jne 0x599c23
cmp byte [ebp - 0x40d], 0
jne 0x599c4f
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x402]
push eax
call sub.kernel32.dll_GetComputerNameA
test eax, eax
je 0x599c4f
lea eax, [ebp - 0x402]
push eax
movzx eax, byte [ebp - 0x40d]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599f8c
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599cd9
mov dword [ebp - 0x414], 0x1ff
cmp byte [ebp - 0x40d], 0
je 0x599c8d
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x402]
push eax
call sub.advapi32.dll_GetUserNameW
test eax, eax
jne 0x599cad
cmp byte [ebp - 0x40d], 0
jne 0x599cd9
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x402]
push eax
call sub.advapi32.dll_GetUserNameA
test eax, eax
je 0x599cd9
lea eax, [ebp - 0x402]
push eax
movzx eax, byte [ebp - 0x40d]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599f9c
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599d36
lea eax, [ebp - 0x458]
call fcn.0048d190
push 0x24
lea ecx, [ebp - 0x458]
mov edx, 0x599fa8
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599fc8
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599d8e
push 0x7f
mov ecx, dword [ebp - 0x408]
add ecx, 0x27a
mov edx, 0x599fd8
lea eax, [ebp - 0x402]
call fcn.004112cc
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov edi, 0x599fec
mov edx, edi
mov eax, ebx
call fcn.004083fc
mov esi, eax
test esi, esi
je 0x599ddd
mov edx, 0x599ff8
lea eax, [ebp - 0x402]
mov ecx, 0x103
call fcn.0040d86c
lea eax, [ebp - 0x402]
push eax
push 0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x41c]
push eax
mov edx, esi
sub edx, ebx
mov ecx, edi
mov eax, ebx
call fcn.0059907c
mov ebx, eax
mov eax, dword [ebp - 0x408]
mov dword [eax + 0x58], ebx
mov eax, dword [ebp - 0x408]
mov edx, dword [ebp - 0x41c]
mov dword [eax + 0x5c], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret