Function at 0x421c00
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4734c8
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x48e4f0]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x48e4f0]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x7c]
cmp eax, 0xf4240
jg 0x421c49
add eax, 0x1e
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x80]
mov ecx, dword [eax + 0x18]
push ecx
mov eax, 0xc
call fcn.0042c450
or eax, edx
jne 0x421c7a
mov edx, dword [esi]
mov eax, dword [edx + 8]
xor ebx, ebx
mov ecx, esi
mov dword [esi + 0x78], ebx
call eax
mov dword [esi + 0x84], ebx
jmp 0x421e98
mov ecx, dword [esi + 0x80]
mov edx, dword [ecx + 0x18]
push edx
mov eax, 0xc
call fcn.0042c450
xor ebx, ebx
cmp eax, 1
jne 0x421e15
cmp edx, ebx
jne 0x421e15
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
mov dword [esi + 0x78], ebx
call edx
mov ecx, dword [esi + 0x80]
lea eax, [esp + 0x30]
mov dword [esi + 0x84], ebx
mov ecx, dword [ecx + 0x18]
push eax
lea eax, [ebx + 0xd]
call fcn.0042c2d0
lea edx, [esp + 0x30]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x78], ebx
call fcn.004210e0
cmp dword [eax + 0x14], 0x10
jb 0x421ce2
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp dword [esp + 0x60], 0x10
mov edi, eax
jb 0x421cff
mov edx, dword [esp + 0x4c]
push edx
call fcn.004593e2
add esp, 4
cmp edi, 0xffffffff
jne 0x421d51
lea edx, [esp + 0x30]
lea ecx, [esp + 0x14]
call fcn.004210e0
cmp dword [eax + 0x14], 0x10
jb 0x421d19
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp dword [esp + 0x28], 0x10
mov edi, eax
jb 0x421d36
mov eax, dword [esp + 0x14]
push eax
call fcn.004593e2
add esp, 4
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
cmp edi, ebx
je 0x421d79
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx]
mov edi, dword [edx]
push edi
call dword [sym.imp.WS2_32.dll_inet_ntoa]
cmp eax, ebx
jne 0x421d99
cmp dword [esp + 0x44], 8
jb 0x421e98
mov eax, dword [esp + 0x30]
push eax
call fcn.004593e2
add esp, 4
jmp 0x421e98
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
inc dword [esi + 0x78]
lea ecx, [esp + 0x30]
mov dword [esi + 0x84], ebx
call fcn.004044f0
jmp 0x421e98
lea ecx, [esp + 0x4c]
push ecx
mov ecx, eax
call fcn.0041cac0
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x7c], 1
call fcn.00421340
add esp, 4
mov edi, eax
lea eax, [esi + 0x58]
mov byte [esp + 0x78], 2
call fcn.00402ba0
mov edi, 8
cmp dword [esp + 0x28], edi
jb 0x421de2
mov eax, dword [esp + 0x14]
push eax
call fcn.004593e2
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x60], 0x10
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], ebx
mov word [esp + 0x14], cx
jb 0x421e09
mov edx, dword [esp + 0x4c]
push edx
call fcn.004593e2
add esp, 4
cmp dword [esp + 0x44], edi
mov dword [esi + 0x74], ebx
jmp 0x421d61
mov ecx, dword [esi + 0x84]
cmp ecx, ebx
jne 0x421e59
mov eax, dword [esi + 0x78]
cmp eax, ebx
je 0x421e55
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x3c
jle 0x421e33
cmp eax, 5
jl 0x421e8f
cmp ecx, 0x12c
jle 0x421e40
cmp eax, 0xa
jl 0x421e8f
cmp ecx, 0x384
jle 0x421e4d
cmp eax, 0x14
jl 0x421e8f
cmp ecx, 0xe10
jmp 0x421e8d
cmp ecx, ebx
je 0x421e76
cmp dword [esi + 0x7c], 0x1e
jle 0x421e98
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
mov dword [esi + 0x84], ebx
call eax
inc dword [esi + 0x78]
mov dword [esi + 0x7c], ebx
jmp 0x421e98
mov eax, dword [esi + 0x7c]
cmp eax, 0x12c
jle 0x421e88
cmp dword [esi + 0x88], ebx
jne 0x421e8f
cmp eax, 0xe10
jle 0x421e98
mov edx, dword [esi]
mov eax, dword [edx + 0x40]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004593ed
mov esp, ebp
pop ebp
ret