Function at 0x10050900
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x94]
mov dl, byte [ecx]
mov byte [ebp - 0x8a], dl
add dword [ebp - 0x94], 1
cmp byte [ebp - 0x8a], 0
jne 0x1005093b
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0xac]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x17
jb 0x10050e3c
mov ecx, 1
shl ecx, 3
mov edx, dword [ebp + 8]
movsx eax, byte [edx + ecx]
cmp eax, 0x3a
jne 0x10050e3c
mov ecx, 1
imul edx, ecx, 0x15
mov eax, dword [ebp + 8]
movsx ecx, byte [eax + edx]
cmp ecx, 0x3a
jne 0x10050e3c
mov edx, 6
mov eax, dword [ebp + 0xc]
mov word [eax], dx
mov ecx, 1
shl ecx, 1
mov dword [ebp - 0xa0], ecx
cmp dword [ebp - 0xa0], 0x80
jae 0x100509ce
jmp 0x100509d3
call fcn.1005be64
mov edx, dword [ebp - 0xa0]
mov byte [ebp + edx - 0x84], 0
mov eax, 1
imul ecx, eax, 0
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0x84], cl
mov edx, 1
shl edx, 0
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0x84], dl
lea eax, [ebp - 0x88]
push eax
push 0x100925f8
lea ecx, [ebp - 0x84]
push ecx
call fcn.1005cdaa
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0x88]
mov byte [ecx + eax + 2], dl
mov eax, 1
shl eax, 1
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax]
mov byte [ebp + edx - 0x84], al
mov ecx, 1
imul edx, ecx, 3
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0x84], dl
lea eax, [ebp - 0x88]
push eax
push 0x100925fc
lea ecx, [ebp - 0x84]
push ecx
call fcn.1005cdaa
add esp, 0xc
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp - 0x88]
mov byte [eax + edx + 2], cl
mov edx, 1
shl edx, 2
mov eax, 1
imul ecx, eax, 0
mov eax, dword [ebp + 8]
mov dl, byte [eax + edx]
mov byte [ebp + ecx - 0x84], dl
mov eax, 1
imul ecx, eax, 5
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
mov cl, byte [eax + ecx]
mov byte [ebp + edx - 0x84], cl
lea edx, [ebp - 0x88]
push edx
push 0x10092600
lea eax, [ebp - 0x84]
push eax
call fcn.1005cdaa
add esp, 0xc
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 0x88]
mov byte [edx + ecx + 2], al
mov ecx, 1
imul edx, ecx, 6
mov eax, 1
imul ecx, eax, 0
mov eax, dword [ebp + 8]
mov dl, byte [eax + edx]
mov byte [ebp + ecx - 0x84], dl
mov eax, 1
imul ecx, eax, 7
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 8]
mov cl, byte [eax + ecx]
mov byte [ebp + edx - 0x84], cl
lea edx, [ebp - 0x88]
push edx
push 0x10092604
lea eax, [ebp - 0x84]
push eax
call fcn.1005cdaa
add esp, 0xc
mov ecx, 1
imul edx, ecx, 3
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp - 0x88]
mov byte [eax + edx + 2], cl
mov edx, 1
imul eax, edx, 9
mov ecx, 1
imul edx, ecx, 0
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax]
mov byte [ebp + edx - 0x84], al
mov ecx, 1
imul edx, ecx, 0xa
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0x84], dl
lea eax, [ebp - 0x88]
push eax
push 0x10092608
lea ecx, [ebp - 0x84]
push ecx
call fcn.1005cdaa
add esp, 0xc
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0x88]
mov byte [ecx + eax + 6], dl
mov eax, 1
imul ecx, eax, 0xb
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0x84], cl
mov edx, 1
imul eax, edx, 0xc
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0x84], al
lea ecx, [ebp - 0x88]
push ecx
push 0x1009260c
lea edx, [ebp - 0x84]
push edx
call fcn.1005cdaa
add esp, 0xc
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0x88]
mov byte [ecx + eax + 6], dl
mov eax, 1
imul ecx, eax, 0xd
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0x84], cl
mov edx, 1
imul eax, edx, 0xe
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0x84], al
lea ecx, [ebp - 0x88]
push ecx
push 0x10092610
lea edx, [ebp - 0x84]
push edx
call fcn.1005cdaa
add esp, 0xc
mov eax, 1
shl eax, 1
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0x88]
mov byte [ecx + eax + 6], dl
mov eax, 1
imul ecx, eax, 0xf
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0x84], cl
mov edx, 1
shl edx, 4
mov eax, 1
shl eax, 0
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + edx]
mov byte [ebp + eax - 0x84], dl
lea eax, [ebp - 0x88]
push eax
push 0x10092614
lea ecx, [ebp - 0x84]
push ecx
call fcn.1005cdaa
add esp, 0xc
mov edx, 1
imul eax, edx, 3
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0x88]
mov byte [ecx + eax + 6], dl
mov eax, 1
imul ecx, eax, 0x11
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0x84], cl
mov edx, 1
imul eax, edx, 0x12
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0x84], al
lea ecx, [ebp - 0x88]
push ecx
push 0x10092618
lea edx, [ebp - 0x84]
push edx
call fcn.1005cdaa
add esp, 0xc
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0x88]
mov byte [ecx + eax + 6], dl
mov eax, 1
imul ecx, eax, 0x13
mov edx, 1
imul eax, edx, 0
mov edx, dword [ebp + 8]
mov cl, byte [edx + ecx]
mov byte [ebp + eax - 0x84], cl
mov edx, 1
imul eax, edx, 0x14
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 8]
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0x84], al
lea ecx, [ebp - 0x88]
push ecx
push 0x1009261c
lea edx, [ebp - 0x84]
push edx
call fcn.1005cdaa
add esp, 0xc
mov eax, 1
imul ecx, eax, 5
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 0x88]
mov byte [edx + ecx + 6], al
lea ecx, [ebp - 0x88]
push ecx
push 0x10092620
mov edx, 1
imul eax, edx, 0x16
add eax, dword [ebp + 8]
push eax
call fcn.1005cdaa
add esp, 0xc
movzx ecx, word [ebp - 0x88]
push ecx
call dword [sym.imp.WSOCK32.dll_htons]
mov edx, dword [ebp + 0xc]
mov word [edx + 0xc], ax
jmp 0x10050f92
mov eax, 2
mov ecx, dword [ebp + 0xc]
mov word [ecx], ax
xor edx, edx
mov eax, dword [ebp + 0xc]
mov word [eax + 2], dx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x9c], ecx
lea edx, [ebp - 0x84]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x9c]
mov dl, byte [ecx]
mov byte [ebp - 0x89], dl
mov eax, dword [ebp - 0x98]
mov cl, byte [ebp - 0x89]
mov byte [eax], cl
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x98]
add eax, 1
mov dword [ebp - 0x98], eax
cmp byte [ebp - 0x89], 0
jne 0x10050e71
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x90], ecx
jmp 0x10050ed1
mov edx, dword [ebp - 0x90]
add edx, 1
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x90]
movsx ecx, byte [eax]
test ecx, ecx
je 0x10050f17
mov edx, dword [ebp - 0x90]
movsx eax, byte [edx]
cmp eax, 0x3a
jne 0x10050f15
mov ecx, dword [ebp - 0x90]
mov byte [ecx], 0
mov edx, dword [ebp - 0x90]
add edx, 1
push edx
call fcn.1005bf40
add esp, 4
push eax
call dword [sym.imp.WSOCK32.dll_htons]
mov ecx, dword [ebp + 0xc]
mov word [ecx + 2], ax
jmp 0x10050ec2
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0x84]
cmp ecx, 0x30
jl 0x10050f56
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0x84]
cmp ecx, 0x39
jg 0x10050f56
lea edx, [ebp - 0x84]
push edx
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 4], eax
jmp 0x10050f92
lea edx, [ebp - 0x84]
push edx
call dword [sym.imp.WSOCK32.dll_gethostbyname]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jne 0x10050f76
xor eax, eax
jmp 0x10050f97
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ecx + eax]
mov edx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [edx + 4], eax
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1005b585
mov esp, ebp
pop ebp
ret