Function at 0x429ad0
Capabilities:
Resolve dns

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x84
push ebx
xor ebx, ebx
push ebp
mov ebp, dword [esp + 0x90]
push esi
cmp eax, ebx
push edi
jne 0x429b76
mov eax, ebp
shl eax, 7
lea esi, [eax + 0x44b830]
push esi
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
jne 0x429b25
push esi
push 0x441bbc
push 0x441bb0
call fcn.0042c420
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x84
ret
movsx ecx, word [eax + 0xa]
mov edx, dword [eax + 0xc]
mov ebx, ebp
shl ebx, 4
mov esi, dword [edx]
mov eax, ecx
lea edi, [ebx + 0x44c4a4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cx, word [ebp*2 + 0x44c280]
mov word [ebx + 0x44c4a0], 2
push ecx
call dword [sym.imp.WS2_32.dll_htons]
pop edi
pop esi
mov word [ebx + 0x44c4a2], ax
pop ebp
mov eax, 1
pop ebx
add esp, 0x84
ret
mov edi, ebp
or ecx, 0xffffffff
shl edi, 7
add edi, 0x44b830
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x54]
mov eax, ecx
mov esi, edi
mov edi, edx
xor edx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x54]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x429c08
mov al, byte [esp + edx + 0x54]
cmp al, 0x2e
je 0x429bd9
cmp al, bl
je 0x429b18
lea edi, [esp + 0x54]
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jb 0x429bb4
jmp 0x429c08
lea edi, [esp + edx + 0x55]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + edx + 0x54], bl
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x429c6e
mov al, byte [esp + edx + 0x14]
cmp al, 0x2e
je 0x429c3f
cmp al, bl
je 0x429b18
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jb 0x429c1a
jmp 0x429c6e
lea edi, [esp + edx + 0x15]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x34]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + edx + 0x14], bl
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x429cd4
mov al, byte [esp + edx + 0x34]
cmp al, 0x2e
je 0x429ca5
cmp al, bl
je 0x429b18
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jb 0x429c80
jmp 0x429cd4
lea edi, [esp + edx + 0x35]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + edx + 0x34], bl
lea ecx, [esp + 0x54]
mov esi, ebp
push ecx
shl esi, 4
call fcn.004370bf
lea edx, [esp + 0x18]
mov byte [esi + 0x44c4a4], al
push edx
call fcn.004370bf
mov byte [esi + 0x44c4a5], al
lea eax, [esp + 0x3c]
push eax
call fcn.004370bf
lea ecx, [esp + 0x80]
mov byte [esi + 0x44c4a6], al
push ecx
call fcn.004370bf
mov dx, word [ebp*2 + 0x44c280]
add esp, 0x10
mov byte [esi + 0x44c4a7], al
mov word [esi + 0x44c4a0], 2
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [esi + 0x44c4a2], ax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x84
ret