Function at 0x4645c0
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
sub esp, 0x408
mov eax, dword [0x570930]
xor eax, dword [esp + 0x408]
mov ecx, edi
mov dword [esp + 0x404], eax
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov eax, esi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4645f0
sub eax, edx
cmp eax, 0x15
jne 0x4647bc
cmp byte [esi + 8], 0x2e
jne 0x4647bc
mov word [edi], 6
mov word [edi + 0xc], 0
mov dl, byte [esi]
mov al, byte [esi + 1]
mov byte [esp + 6], cl
lea ecx, [esp]
push ecx
mov byte [esp + 8], dl
lea edx, [esp + 8]
push 0x55c28c
push edx
mov byte [esp + 0x11], al
call fcn.005261bc
mov al, byte [esp + 0xc]
mov byte [edi + 2], al
mov cl, byte [esi + 2]
mov dl, byte [esi + 3]
lea eax, [esp + 0xc]
push eax
mov byte [esp + 0x14], cl
lea ecx, [esp + 0x14]
push 0x55c28c
push ecx
mov byte [esp + 0x1d], dl
call fcn.005261bc
mov dl, byte [esp + 0x18]
mov byte [edi + 3], dl
mov al, byte [esi + 4]
mov cl, byte [esi + 5]
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push 0x55c28c
push eax
mov byte [esp + 0x29], cl
call fcn.005261bc
mov cl, byte [esp + 0x24]
mov byte [edi + 4], cl
mov dl, byte [esi + 6]
mov al, byte [esi + 7]
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x2c], dl
lea edx, [esp + 0x2c]
push 0x55c28c
push edx
mov byte [esp + 0x35], al
call fcn.005261bc
mov al, byte [esp + 0x30]
mov byte [edi + 5], al
mov cl, byte [esi + 9]
mov dl, byte [esi + 0xa]
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x38], cl
lea ecx, [esp + 0x38]
push 0x55c28c
push ecx
mov byte [esp + 0x41], dl
call fcn.005261bc
mov dl, byte [esp + 0x3c]
mov byte [edi + 6], dl
mov al, byte [esi + 0xb]
mov cl, byte [esi + 0xc]
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x44], al
lea eax, [esp + 0x44]
push 0x55c28c
push eax
mov byte [esp + 0x4d], cl
call fcn.005261bc
mov cl, byte [esp + 0x48]
mov byte [edi + 7], cl
mov dl, byte [esi + 0xd]
mov al, byte [esi + 0xe]
add esp, 0x48
mov byte [esp + 4], dl
mov byte [esp + 5], al
lea ecx, [esp]
push ecx
lea edx, [esp + 8]
push 0x55c28c
push edx
call fcn.005261bc
mov al, byte [esp + 0xc]
mov byte [edi + 8], al
mov cl, byte [esi + 0xf]
mov dl, byte [esi + 0x10]
lea eax, [esp + 0xc]
push eax
mov byte [esp + 0x14], cl
lea ecx, [esp + 0x14]
push 0x55c28c
push ecx
mov byte [esp + 0x1d], dl
call fcn.005261bc
mov dl, byte [esp + 0x18]
mov byte [edi + 9], dl
mov al, byte [esi + 0x11]
mov cl, byte [esi + 0x12]
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x20], al
lea eax, [esp + 0x20]
push 0x55c28c
push eax
mov byte [esp + 0x29], cl
call fcn.005261bc
mov cl, byte [esp + 0x24]
mov byte [edi + 0xa], cl
mov dl, byte [esi + 0x13]
mov al, byte [esi + 0x14]
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x2c], dl
lea edx, [esp + 0x2c]
push 0x55c28c
push edx
mov byte [esp + 0x35], al
call fcn.005261bc
mov al, byte [esp + 0x30]
add esp, 0x30
mov byte [edi + 0xb], al
jmp 0x464809
mov word [edi], 2
mov word [edi + 2], 0
movsx eax, byte [esi]
cmp eax, 0x30
jl 0x4647dc
cmp eax, 0x39
jg 0x4647dc
push esi
call sub.WSOCK32.dll_inet_addr
jmp 0x464806
push esi
call sub.WSOCK32.dll_gethostbyname
test eax, eax
jne 0x4647ff
mov ecx, dword [esp + 0x404]
xor ecx, dword [esp + 0x408]
add esp, 0x408
jmp fcn.0052e7b9
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x404]
xor ecx, dword [esp + 0x408]
mov eax, 1
add esp, 0x408
jmp fcn.0052e7b9