Function at 0x40e660
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
mov byte [ebp], 0
mov ecx, dword [0x48cfa8]
xor edi, edi
cmp ecx, edi
je 0x40e6b0
mov eax, dword [ecx]
cmp eax, edi
je 0x40e6a1
xor esi, esi
push eax
call fcn.0040fa2d
mov eax, dword [0x48cfa8]
add esi, 4
add esp, 4
mov dword [esi + eax - 4], edi
mov ecx, dword [0x48cfa8]
mov eax, dword [esi + ecx]
cmp eax, edi
jne 0x40e67f
push ecx
call fcn.0040fa2d
add esp, 4
mov dword [0x48cfa8], edi
mov esi, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x24]
cmp esi, edi
je 0x40e6d8
cmp ebx, edi
je 0x40e6d8
mov eax, dword [ebx]
xor ecx, ecx
cmp eax, edi
je 0x40e6da
mov eax, ebx
mov edx, dword [eax + 4]
add eax, 4
inc ecx
cmp edx, edi
jne 0x40e6cb
jmp 0x40e6da
xor ecx, ecx
add ecx, 2
push 4
push ecx
call fcn.00410081
add esp, 8
cmp esi, edi
mov dword [0x48cfa8], eax
je 0x40e71e
cmp ebx, edi
je 0x40e71e
mov eax, dword [ebx]
test eax, eax
je 0x40e71e
xor esi, esi
push eax
call fcn.004101be
mov ecx, dword [0x48cfa8]
add esp, 4
inc edi
mov dword [esi + ecx], eax
lea esi, [edi*4]
mov eax, dword [esi + ebx]
test eax, eax
jne 0x40e6fd
push str.lock_file
call fcn.004101be
mov edx, dword [0x48cfa8]
push 0x48c39c
mov dword [edx + edi*4], eax
call fcn.0040d120
add esp, 8
test eax, eax
pop ebx
jne 0x40e747
pop edi
pop esi
pop ebp
ret
push 0x48c39c
call fcn.0040d010
add esp, 4
test eax, eax
jne 0x40e765
push 0x48c39c
call fcn.0040e910
add esp, 4
mov edi, 0x41bc64
or ecx, 0xffffffff
xor eax, eax
push 0x48c39c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x48c39c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x48c39c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0040d010
add esp, 4
test eax, eax
jne 0x40e7da
push 0x48c39c
call fcn.0040e910
add esp, 4
mov al, byte [0x48cfac]
test al, al
jne 0x40e7f2
push 0x80
push 0x48cfac
call sub.WSOCK32.dll_gethostname
mov edi, 0x41bc64
or ecx, 0xffffffff
xor eax, eax
push 0x48c39c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x48c39c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x48cfac
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x48c39c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0040d010
add esp, 4
test eax, eax
jne 0x40e868
push 0x48c39c
call fcn.0040e910
add esp, 4
call fcn.0040e480
test eax, eax
jne 0x40e875
pop edi
pop esi
pop ebp
ret
call fcn.0040e920
call fcn.0040ee70
mov eax, dword [0x48cfa4]
test eax, eax
jne 0x40e8da
mov edi, dword [esp + 0x14]
test edi, edi
jne 0x40e895
mov edi, 0xfde8
xor esi, esi
test edi, edi
jle 0x40e8da
push esi
push 0x48c39c
push str._s_session__d
push 0x48c79c
call fcn.0040f560
push 0x48c79c
call fcn.0040d010
add esp, 0x14
test eax, eax
je 0x40e8c8
inc esi
cmp esi, edi
jl 0x40e89b
jmp 0x40e8da
push 0x48c79c
call fcn.0040e910
add esp, 4
call fcn.0040e580
mov edi, 0x48c79c
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, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0040e530
pop edi
pop esi
mov eax, 1
pop ebp
ret