Function at 0x477c39
Capabilities:
Resolve dns

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x500144]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 7
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x24]
pop ecx
mov esi, 0x410e0c
mov dword [ebp - 0x30], eax
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x50], 6
xor edx, edx
mov ebx, edx
mov dword [ebp - 0x28], edx
movsw word es:[edi], word [esi]
mov word [ebp - 6], ax
xor edi, edi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x58], edx
push eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], edx
push eax
push edx
lea eax, [ebp - 0x24]
mov dword [ebp - 0x40], edx
inc edi
mov dword [ebp - 0x44], edx
push eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
call dword [sym.imp.WS2_32.dll_GetAddrInfoW]
mov esi, eax
test esi, esi
jne 0x477f1a
cmp dword [ebp - 0x28], ebx
je 0x477f1a
mov eax, dword [section..data]
mov esi, 0x800
cmp eax, section..data
je 0x477cef
test dword [eax + 0x1c], esi
je 0x477cef
cmp byte [eax + 0x19], 4
jb 0x477cef
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x410ec4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x2b
pop ecx
call fcn.004238e7
push dword [ebp - 0x28]
call fcn.004782c1
mov eax, dword [section..data]
cmp eax, section..data
je 0x477d2c
test dword [eax + 0x1c], esi
je 0x477d2c
cmp byte [eax + 0x19], 4
jb 0x477d2c
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x410ec4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x2c
pop ecx
call fcn.004238e7
push dword [ebp - 0x30]
call fcn.004782c1
mov eax, dword [ebp - 0x30]
mov esi, eax
push 2
pop ecx
mov dword [ebp - 0x34], ecx
push 0x17
pop edx
mov dword [ebp - 0x38], edx
test eax, eax
je 0x477e30
cmp dword [esi + 4], ecx
jne 0x477e07
mov eax, dword [esi + 0x18]
cmp dword [eax + 4], 0x100007f
jne 0x477e22
mov ebx, edi
mov eax, dword [section..data]
cmp eax, section..data
je 0x477da4
test dword [eax + 0x1c], 0x800
je 0x477da4
cmp byte [eax + 0x19], 4
jb 0x477da4
call fcn.0042386b
push dword [ebp + 0xc]
mov edx, 0x410ec4
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x2d
pop ecx
call fcn.00421fda
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x2c], edi
call fcn.00477f7b
mov esi, eax
test esi, esi
jns 0x477ed5
mov eax, dword [section..data]
cmp eax, section..data
je 0x477edd
test dword [eax + 0x1c], 0x800
je 0x477edd
cmp byte [eax + 0x19], 4
jb 0x477edd
call fcn.0042386b
push esi
push eax
mov eax, dword [section..data]
mov edx, 0x410ec4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x2e
pop ecx
call fcn.00421fda
jmp 0x477ed8
cmp dword [esi + 4], edx
jne 0x477e22
mov ecx, dword [esi + 0x18]
call fcn.004787f9
test al, al
jne 0x477d66
push 2
pop ecx
push 0x17
pop edx
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x477d4d
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x28]
jmp 0x477ecb
mov dword [ebp - 0x2c], eax
mov ecx, eax
test eax, eax
je 0x477ec8
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + 0x18]
cmp eax, dword [ecx + 0x10]
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x3c], edx
jne 0x477ebb
movzx eax, word [eax]
cmp ax, word [edx]
jne 0x477d66
cmp word [ebp - 0x34], ax
jne 0x477e79
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
cmp eax, dword [edx + 4]
je 0x477d66
jmp 0x477ebb
cmp word [ebp - 0x38], ax
jne 0x477e9f
xor edx, edx
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + edx*4 + 8]
cmp eax, dword [ecx + edx*4 + 8]
mov ecx, dword [ebp - 0x2c]
jne 0x477ebb
inc edx
cmp edx, 4
jne 0x477e81
jmp 0x477d66
mov eax, dword [esi + 0x10]
push eax
mov eax, dword [esi + 0x18]
push edx
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x477d66
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
jne 0x477e45
mov eax, dword [ebp - 0x30]
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x477e38
jmp 0x477f53
mov edi, dword [ebp - 0x2c]
mov eax, dword [section..data]
test edi, edi
jne 0x477f53
cmp eax, section..data
je 0x477f51
test dword [eax + 0x1c], 0x800
je 0x477f51
cmp byte [eax + 0x19], 4
jb 0x477f51
call fcn.0042386b
push dword [ebp + 0xc]
mov edx, 0x410ec4
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x2f
pop ecx
call fcn.00421fda
jmp 0x477f51
mov eax, dword [section..data]
cmp eax, section..data
je 0x477f51
test byte [eax + 0x1c], 1
je 0x477f51
cmp byte [eax + 0x19], 2
jb 0x477f51
call fcn.0042386b
push esi
push eax
mov eax, dword [section..data]
mov edx, 0x410ec4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x2a
pop ecx
call fcn.00421fda
xor ebx, ebx
cmp dword [ebp - 0x28], 0
je 0x477f62
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_FreeAddrInfoW]
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004fb5e0
leave
ret 8