Function at 0x4148b0
Capabilities:
Get hostname
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b5f32
mov eax, dword fs:[0]
push eax
sub esp, 0x544
mov eax, dword [0x4fa008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x544], ebx
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x180]
mov dword [ebp - 0x550], eax
mov eax, dword [ebx + 0x180]
call dword [eax + 4]
mov eax, dword [ebx + 0x1b0]
mov dword [ebp - 0x548], eax
mov dword [ebp - 4], 0
lea ecx, [ebx + 0x180]
mov eax, dword [ebx + 0x180]
call dword [eax + 8]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x530], 0
lea eax, [ebp - 0x538]
mov dword [ebp - 4], 1
push eax
push 1
mov ecx, eax
call fcn.00403cc0
mov eax, dword [ebp - 0x534]
mov ecx, dword [ebp - 0x538]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
push 0x4cb34c
push ecx
call fcn.0049a3f0
add esp, 0xc
mov dword [ebp - 4], 2
mov esi, dword [ebx + 0x17c]
mov eax, dword [esi + 0xb0]
lea ecx, [esi + 0xb0]
call dword [eax + 4]
mov al, byte [esi + 0x2e]
mov byte [ebp - 0x51a], al
mov byte [ebp - 4], 3
lea ecx, [esi + 0xb0]
mov eax, dword [esi + 0xb0]
call dword [eax + 8]
mov byte [ebp - 4], 2
mov esi, dword [ebx + 0x17c]
mov eax, dword [esi + 0xb0]
lea ecx, [esi + 0xb0]
call dword [eax + 4]
mov bl, byte [esi + 0xac]
mov byte [ebp - 4], 4
lea ecx, [esi + 0xb0]
mov eax, dword [esi + 0xb0]
call dword [eax + 8]
mov byte [ebp - 4], 2
test bl, bl
jne 0x414a32
mov esi, dword [ebp - 0x544]
mov esi, dword [esi + 0x17c]
mov eax, dword [esi + 0xb0]
lea ecx, [esi + 0xb0]
call dword [eax + 4]
mov bl, byte [esi + 0xad]
mov byte [ebp - 4], 5
lea ecx, [esi + 0xb0]
mov eax, dword [esi + 0xb0]
call dword [eax + 8]
mov byte [ebp - 4], 2
test bl, bl
jne 0x414a32
mov al, 1
jmp 0x414a34
xor al, al
mov bh, byte [ebp - 0x51a]
test bh, bh
je 0x414a46
test al, al
je 0x414a46
mov bl, 1
jmp 0x414a48
xor bl, bl
cmp dword [ebp - 0x548], 0
mov byte [ebp - 0x519], bl
je 0x414caf
test bl, bl
je 0x414a7e
mov ecx, 0x9c9b
call fcn.0044e2b0
push eax
lea ecx, [ebp - 0x52c]
call fcn.00403200
mov byte [ebp - 4], 6
jmp 0x414cc9
push 0x100
lea eax, [ebp - 0x518]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x414ab2
push 0x400
lea eax, [ebp - 0x418]
push str.Host_name_unavailable
push eax
call fcn.004b3620
add esp, 0xc
jmp 0x414bf8
lea eax, [ebp - 0x518]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov edi, eax
test edi, edi
jne 0x414ae3
push 0x400
lea eax, [ebp - 0x418]
push str.IP_address_unavailable
push eax
call fcn.004b3620
add esp, 0xc
jmp 0x414bf8
mov byte [ebp - 0x418], 0
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x540], 0
cmp dword [eax], 0
je 0x414bf8
lea eax, [ebp - 0x418]
dec eax
xor ebx, ebx
mov dword [ebp - 0x54c], eax
nop
xor eax, eax
xor esi, esi
cmp ax, word [edi + 0xa]
jge 0x414b72
nop word [eax + eax]
mov eax, dword [edi + 0xc]
mov eax, dword [ebx + eax]
movzx eax, byte [eax + esi]
push eax
lea eax, [ebp - 0x18]
push 0x4db6e0
push eax
call fcn.004555d0
lea eax, [ebp - 0x418]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414b45
sub eax, edx
mov ecx, 0x3ff
sub ecx, eax
lea eax, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.004b3750
movsx eax, word [edi + 0xa]
inc esi
add esp, 0xc
cmp esi, eax
jl 0x414b20
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414b80
mov eax, dword [ebp - 0x54c]
sub ecx, edx
mov byte [eax + ecx], 0
mov eax, dword [edi + 0xc]
cmp dword [ebx + eax + 4], 0
je 0x414bce
lea ecx, [ebp - 0x418]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414ba6
sub ecx, edx
mov eax, 0x3ff
sub eax, ecx
push eax
lea eax, [ebp - 0x418]
push 0x4db6e4
push eax
call fcn.004b3750
mov eax, dword [edi + 0xc]
add esp, 0xc
mov ecx, dword [ebp - 0x540]
inc ecx
mov dword [ebp - 0x540], ecx
lea ebx, [ecx*4]
cmp dword [ebx + eax], 0
jne 0x414b10
mov bl, byte [ebp - 0x519]
mov bh, byte [ebp - 0x51a]
mov dword [ebp - method.AnsiStringStorage.virtual_0], vtable.AnsiStringStorage.0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x520], 0
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 7
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414c30
sub ecx, edx
lea eax, [ebp - 0x528]
push eax
lea eax, [ecx + 1]
push eax
lea ecx, [ebp - 0x528]
call fcn.00429460
mov eax, dword [ebp - 0x524]
mov ecx, dword [ebp - 0x528]
sub eax, ecx
push eax
lea eax, [ebp - 0x418]
push eax
push ecx
call fcn.0049a3f0
add esp, 0xc
lea eax, [ebp - 0x53c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x52c]
call fcn.0044e020
test bh, bh
jne 0x414c9e
mov ecx, 0x9ca3
call fcn.0044e2b0
push eax
lea ecx, [ebp - 0x53c]
call fcn.004033d0
lea ecx, [ebp - 0x52c]
mov byte [ebp - 4], 2
call fcn.0044df60
jmp 0x414cf7
mov ecx, 0x9c7d
call fcn.0044e2b0
push eax
lea ecx, [ebp - 0x52c]
call fcn.00403200
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x53c]
lea ecx, [ebp - 0x53c]
push dword [ebp - 0x528]
call dword [eax + 4]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x528]
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00403b90
mov esi, dword [ebp - 0x544]
xor ecx, ecx
push dword [ebp - 0x538]
cmp byte [esi + 0x19c], cl
sete cl
lea ecx, [ecx*2 + 0x9c9e]
call fcn.0044e2b0
mov edi, dword [ebp - 0x550]
push eax
push str._s____s
lea eax, [edi + 4]
push eax
call fcn.00403a90
add esp, 0x10
cmp dword [ebp - 0x548], 0
je 0x414d43
test bl, bl
jne 0x414d43
mov al, 1
jmp 0x414d45
xor al, al
mov byte [edi], al
lea ecx, [ebp - 0x538]
mov al, byte [esi + 0x19c]
mov byte [edi + 1], al
mov dword [ebp - method.StringStorage.virtual_0], vtable.StringStorage.0
call fcn.00403b90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00496cab
mov esp, ebp
pop ebp
ret 4