Function at 0x100027ff
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x330
push ebx
push esi
push edi
push 0x12c
xor ebx, ebx
lea eax, [ebp - 0x130]
push ebx
push eax
call fcn.10014780
mov edi, dword [ebp + 0xc]
mov al, byte [edi + 0x2a]
add esp, 0xc
mov byte [ebp - 0x130], 5
test al, al
jne 0x10002895
mov eax, dword [ebp + 0x14]
cmp byte [eax], 5
je 0x10002843
or eax, 0xffffffff
jmp 0x10002a74
movzx edx, byte [eax + 1]
xor ecx, ecx
cmp edx, ebx
jle 0x10002863
mov esi, dword [ebp + 0x18]
add esi, 0xfffffffe
cmp ecx, esi
jge 0x10002863
cmp byte [ecx + eax + 2], 2
je 0x10002888
inc ecx
cmp ecx, edx
jl 0x10002853
mov byte [ebp - 0x12f], 0xff
push 2
lea eax, [ebp - 0x130]
push eax
push dword [edi + 6]
push 3
push dword [ebp + 8]
call fcn.100010f0
add esp, 0x14
jmp 0x10002a72
mov byte [ebp - 0x12f], 2
mov byte [edi + 0x2a], 1
jmp 0x1000286a
cmp al, 1
jne 0x1000295f
mov edi, dword [ebp + 0x14]
movzx esi, byte [edi + 1]
lea eax, [esi + 4]
cmp dword [ebp + 0x18], eax
jge 0x100028b4
push 0xfffffffffffffffe
pop eax
jmp 0x10002a74
push esi
lea eax, [edi + 2]
push eax
lea eax, [ebp - 0x330]
push eax
call fcn.10014290
lea eax, [esi + edi]
mov byte [ebp + esi - 0x330], bl
movzx ebx, byte [eax + 2]
lea ecx, [ebx + esi + 3]
add esp, 0xc
cmp dword [ebp + 0x18], ecx
jge 0x100028e3
push 0xfffffffffffffffd
jmp 0x100028ae
add eax, 3
push ebx
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10014290
mov al, byte [edi]
mov edi, dword [ebp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
mov byte [ebp - 0x130], al
add esp, 0xc
lea eax, [edi + 0x45]
push eax
lea eax, [ebp - 0x330]
push eax
mov byte [ebp + ebx - 0x230], 0
call esi
test eax, eax
jne 0x10002944
add edi, 0x145
push edi
lea eax, [ebp - 0x230]
push eax
call esi
test eax, eax
jne 0x10002944
mov byte [ebp - 0x12f], al
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x2a], 2
jmp 0x1000294b
mov byte [ebp - 0x12f], 1
push 2
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 6]
jmp 0x10002876
cmp al, 2
jne 0x10002a72
mov esi, dword [ebp + 0x14]
cmp byte [esi + 1], 1
jne 0x10002a64
mov al, byte [esi + 3]
xor edi, edi
cmp byte [esi], 5
mov dword [ebp - 4], ebx
jne 0x1000283b
cmp al, 1
jne 0x10002992
mov ebx, dword [esi + 4]
movzx eax, word [esi + 8]
jmp 0x100029de
cmp al, 3
jne 0x10002a1b
movzx edi, byte [esi + 4]
push edi
lea eax, [esi + 5]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10014290
add esp, 0xc
lea eax, [ebp - 0x230]
push eax
mov byte [ebp + edi - 0x230], bl
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
je 0x10002a14
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x10002a14
cmp dword [eax], ebx
je 0x10002a14
mov eax, dword [eax]
mov ebx, dword [eax]
movzx eax, word [edi + esi + 5]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edi, ax
cmp di, 0x19
je 0x10002a10
mov eax, 0x24b
cmp di, ax
jne 0x10002a26
mov eax, dword [ebp + 0x10]
push 4
push str.pups
add eax, 0x45
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNA]
test eax, eax
je 0x10002a26
push 2
jmp 0x10002a16
push 4
push dword [ebp + 0xc]
jmp 0x10002a67
cmp al, 4
jne 0x10002a23
push 8
jmp 0x10002a16
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 4]
push eax
push 0
push edi
push ebx
call fcn.100162a7
mov esi, dword [ebp + 0xc]
add esp, 0x10
mov dword [esi + 0xa], eax
test eax, eax
jns 0x10002a4b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 5
push esi
jmp 0x10002a67
cmp dword [ebp - 4], 1
jne 0x10002a57
mov byte [esi + 0x20], 1
jmp 0x10002a72
push esi
push dword [ebp + 8]
call fcn.10002759
pop ecx
pop ecx
jmp 0x10002a72
push 7
push edi
push dword [ebp + 8]
call fcn.100027bf
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret