Function at 0x10002792
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.10013ba0
mov edi, dword [ebp + 0xc]
mov al, byte [edi + 0x2a]
add esp, 0xc
mov byte [ebp - 0x130], 5
test al, al
jne 0x10002828
mov eax, dword [ebp + 0x14]
cmp byte [eax], 5
je 0x100027d6
or eax, 0xffffffff
jmp 0x10002a1c
movzx edx, byte [eax + 1]
xor ecx, ecx
cmp edx, ebx
jle 0x100027f6
mov esi, dword [ebp + 0x18]
add esi, 0xfffffffe
cmp ecx, esi
jge 0x100027f6
cmp byte [ecx + eax + 2], 2
je 0x1000281b
inc ecx
cmp ecx, edx
jl 0x100027e6
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.1000107b
add esp, 0x14
jmp 0x10002a1a
mov byte [ebp - 0x12f], 2
mov byte [edi + 0x2a], 1
jmp 0x100027fd
cmp al, 1
jne 0x100028f2
mov edi, dword [ebp + 0x14]
movzx esi, byte [edi + 1]
lea eax, [esi + 4]
cmp dword [ebp + 0x18], eax
jge 0x10002847
push 0xfffffffffffffffe
pop eax
jmp 0x10002a1c
push esi
lea eax, [edi + 2]
push eax
lea eax, [ebp - 0x330]
push eax
call fcn.10013ac0
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 0x10002876
push 0xfffffffffffffffd
jmp 0x10002841
add eax, 3
push ebx
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10013ac0
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 0x100028d7
add edi, 0x145
push edi
lea eax, [ebp - 0x230]
push eax
call esi
test eax, eax
jne 0x100028d7
mov byte [ebp - 0x12f], al
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x2a], 2
jmp 0x100028de
mov byte [ebp - 0x12f], 1
push 2
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 6]
jmp 0x10002809
cmp al, 2
jne 0x10002a1a
mov esi, dword [ebp + 0x14]
cmp byte [esi + 1], 1
jne 0x10002a0c
mov al, byte [esi + 3]
xor edi, edi
cmp byte [esi], 5
mov dword [ebp - 4], ebx
jne 0x100027ce
cmp al, 1
jne 0x10002925
mov ebx, dword [esi + 4]
movzx eax, word [esi + 8]
jmp 0x1000296d
cmp al, 3
jne 0x10002983
movzx edi, byte [esi + 4]
push edi
lea eax, [esi + 5]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10013ac0
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 0x10002979
mov eax, dword [eax + 0xc]
cmp eax, ebx
je 0x10002979
cmp dword [eax], ebx
je 0x10002979
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
jmp 0x1000298e
push 4
push dword [ebp + 0xc]
jmp 0x10002a0f
cmp al, 4
jne 0x1000298b
push 8
jmp 0x1000297b
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
push 2
add esi, 0x45
push 0x1002a36c
push esi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100029ce
cmp di, 0x19
je 0x100029ca
mov eax, 0x24b
cmp di, ax
jne 0x100029ce
push 4
push str.pups
push esi
call dword [sym.imp.SHLWAPI.dll_StrCmpNA]
test eax, eax
je 0x100029ce
push 2
jmp 0x1000297b
lea eax, [ebp - 4]
push eax
push 0
push edi
push ebx
call fcn.100161e0
mov esi, dword [ebp + 0xc]
add esp, 0x10
mov dword [esi + 0xa], eax
test eax, eax
jns 0x100029f3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 5
push esi
jmp 0x10002a0f
cmp dword [ebp - 4], 1
jne 0x100029ff
mov byte [esi + 0x20], 1
jmp 0x10002a1a
push esi
push dword [ebp + 8]
call fcn.100026ec
pop ecx
pop ecx
jmp 0x10002a1a
push 7
push edi
push dword [ebp + 8]
call fcn.10002752
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret