Function at 0x4b1330
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a451d
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x7adbc4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x228], ebx
push dword [ebx + 0x11c]
xor eax, eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0
lea eax, [ebp - 0x218]
push str.IsSave
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x224]
push str.Password
lea eax, [ebp - 0x22c]
push eax
call fcn.004b2290
mov edx, 0x772034
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x22c]
call fcn.00498750
test al, al
je 0x4b13cb
push 1
jmp 0x4b13cd
push 0
push 0x434
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov eax, dword [ebx + 0x110]
or esi, 0xffffffff
cmp dword [eax - 0xc], 0
jne 0x4b1498
push 0
push str.File
push 0x77343c
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 1
mov edx, dword [eax]
mov edi, dword [ebx + 0x110]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1477
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1468
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1468
call fcn.004998f0
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 2
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b145d
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x21c]
add eax, 0x10
mov dword [ebx + 0x110], eax
jmp 0x4b1477
push dword [edx - 0xc]
lea ecx, [ebx + 0x110]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1498
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x244]
call fcn.004a24c0
push 0
push str.Login
push str.Common
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 5
mov edx, dword [eax]
mov edi, dword [ebp - 0x244]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1530
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1521
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1521
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 6
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4b1516
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x244], eax
jmp 0x4b1530
push dword [edx - 0xc]
lea ecx, [ebp - 0x244]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 7
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1551
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.PrimaryServerNameIP
push str.Common
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 8
mov edx, dword [eax]
mov edi, dword [ebp - 0x23c]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b15de
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b15cf
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b15cf
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 9
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4b15c4
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x23c], eax
jmp 0x4b15de
push dword [edx - 0xc]
lea ecx, [ebp - 0x23c]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xa
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b15ff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21c]
push dword [0x7baeb4]
lea ecx, [ebp - 0x224]
push str.PrimaryServerPort
push str.Common
push eax
call fcn.004b2290
mov byte [ebp - 4], 0xb
mov edx, dword [eax]
mov edi, dword [ebp - 0x238]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1690
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1681
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1681
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0xc
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4b1676
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x238], eax
jmp 0x4b1690
push dword [edx - 0xc]
lea ecx, [ebp - 0x238]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b16b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.AlternateServerNameIP
push str.Common
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 0xe
mov edx, dword [eax]
mov edi, dword [ebp - 0x234]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b173e
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b172f
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b172f
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0xf
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4b1724
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x234], eax
jmp 0x4b173e
push dword [edx - 0xc]
lea ecx, [ebp - 0x234]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x10
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b175f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21c]
push dword [0x7baeb4]
lea ecx, [ebp - 0x224]
push str.AlternateServerPort
push str.Common
push eax
call fcn.004b2290
mov byte [ebp - 4], 0x11
mov edx, dword [eax]
mov edi, dword [ebp - 0x230]
add edi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b17f0
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b17e1
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b17e1
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x12
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4b17d6
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x230], eax
jmp 0x4b17f0
push dword [edx - 0xc]
lea ecx, [ebp - 0x230]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x13
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1811
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x228]
lea eax, [ebp - 0x244]
push eax
mov ecx, ebx
mov byte [ebp - 4], 4
call fcn.004aed40
push 0
push 0x773500
push str.AddComp
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 0x14
mov edx, dword [eax]
mov edi, dword [ebx + 0x7c]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b18a9
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b189d
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b189d
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x15
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1895
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x7c], eax
jmp 0x4b18a9
push dword [edx - 0xc]
lea ecx, [ebx + 0x7c]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x16
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b18ca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.Login
push str.AddComp
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x17
mov edx, dword [eax]
mov edi, dword [ebx + 0x64]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1954
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1948
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1948
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x18
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1940
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x64], eax
jmp 0x4b1954
push dword [edx - 0xc]
lea ecx, [ebx + 0x64]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x19
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1975
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.PrimaryServerNameIP
push str.AddComp
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x1a
mov edx, dword [eax]
mov edi, dword [ebx + 0x6c]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b19ff
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b19f3
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b19f3
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x1b
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b19eb
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x6c], eax
jmp 0x4b19ff
push dword [edx - 0xc]
lea ecx, [ebx + 0x6c]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1c
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1a20
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21c]
push dword [0x7baeb4]
lea ecx, [ebp - 0x224]
push str.PrimaryServerPort
push str.AddComp
push eax
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x1d
mov edx, dword [eax]
mov edi, dword [ebx + 0x70]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1aae
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1aa2
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1aa2
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x1e
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1a9a
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x70], eax
jmp 0x4b1aae
push dword [edx - 0xc]
lea ecx, [ebx + 0x70]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x1f
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1acf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.AlternateServerNameIP
push str.AddComp
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x20
mov edx, dword [eax]
mov edi, dword [ebx + 0x74]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1b59
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1b4d
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1b4d
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x21
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1b45
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x74], eax
jmp 0x4b1b59
push dword [edx - 0xc]
lea ecx, [ebx + 0x74]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x22
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1b7a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21c]
push dword [0x7baeb4]
lea ecx, [ebp - 0x224]
push str.AlternateServerPort
push str.AddComp
push eax
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x23
mov edx, dword [eax]
mov edi, dword [ebx + 0x78]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1c08
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1bfc
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1bfc
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x24
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1bf4
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x78], eax
jmp 0x4b1c08
push dword [edx - 0xc]
lea ecx, [ebx + 0x78]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x25
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1c29
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.RangeFrom
push str.AddRange
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x220]
push dword [ebp - 0x21c]
call fcn.00498630
mov edi, dword [sym.imp.WSOCK32.dll_inet_addr]
push dword [eax]
call edi
mov ecx, eax
call fcn.00507a40
mov ebx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x220]
add edx, 0xfffffff0
mov dword [ebx + 0xc0], eax
mov byte [ebp - 4], 0x27
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1c9e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x28
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1cbf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.RangeTo
push str.AddRange
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x220]
push dword [ebp - 0x21c]
call fcn.00498630
push dword [eax]
call edi
mov ecx, eax
call fcn.00507a40
mov edx, dword [ebp - 0x220]
mov dword [ebx + 0xc4], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2a
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1d28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2b
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1d49
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.Login
push str.AddRange
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov byte [ebp - 4], 0x2c
mov edx, dword [eax]
mov edi, dword [ebx + 0xa8]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1dd6
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1dc7
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1dc7
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x2d
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1dbc
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0xa8], eax
jmp 0x4b1dd6
push dword [edx - 0xc]
lea ecx, [ebx + 0xa8]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x2e
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1df7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.PrimaryServerNameIP
push str.AddRange
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x2f
mov edx, dword [eax]
mov edi, dword [ebx + 0xb0]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1e8a
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1e7b
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1e7b
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x30
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1e70
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0xb0], eax
jmp 0x4b1e8a
push dword [edx - 0xc]
lea ecx, [ebx + 0xb0]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x31
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1eab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21c]
push dword [0x7baeb4]
lea ecx, [ebp - 0x224]
push str.PrimaryServerPort
push str.AddRange
push eax
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x32
mov edx, dword [eax]
mov edi, dword [ebx + 0xb4]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1f42
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1f33
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1f33
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x33
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1f28
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0xb4], eax
jmp 0x4b1f42
push dword [edx - 0xc]
lea ecx, [ebx + 0xb4]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x34
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b1f63
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.AlternateServerNameIP
push str.AddRange
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x35
mov edx, dword [eax]
mov edi, dword [ebx + 0xb8]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b1ff6
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b1fe7
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b1fe7
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x36
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b1fdc
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0xb8], eax
jmp 0x4b1ff6
push dword [edx - 0xc]
lea ecx, [ebx + 0xb8]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x37
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b2017
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x21c]
push dword [0x7baeb4]
lea ecx, [ebp - 0x224]
push str.AlternateServerPort
push str.AddRange
push eax
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x38
mov edx, dword [eax]
mov edi, dword [ebx + 0xbc]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b20ae
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b209f
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b209f
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x39
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b2094
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0xbc], eax
jmp 0x4b20ae
push dword [edx - 0xc]
lea ecx, [ebx + 0xbc]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x3a
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b20cf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.DomainController
push str.AddFromAd
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x3b
mov edx, dword [eax]
mov edi, dword [ebx + 0x9c]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b2162
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b2153
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b2153
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x3c
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b2148
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0x9c], eax
jmp 0x4b2162
push dword [edx - 0xc]
lea ecx, [ebx + 0x9c]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x3d
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b2183
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push str.GroupInAD
push str.AddFromAd
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x224]
call fcn.004b2290
mov ebx, dword [ebp - 0x228]
mov byte [ebp - 4], 0x3e
mov edx, dword [eax]
mov edi, dword [ebx + 0xa0]
sub edi, 0x10
lea ecx, [edx - 0x10]
cmp ecx, edi
je 0x4b2216
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x4b2207
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4b2207
call fcn.004998f0
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x3f
lea edx, [edi + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b21fc
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebx + 0xa0], eax
jmp 0x4b2216
push dword [edx - 0xc]
lea ecx, [ebx + 0xa0]
push edx
call fcn.004999c0
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x40
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b2237
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x244]
call fcn.004a25f0
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
mov dword [ebp - 4], 0x41
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x4b2264
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00669a8a
mov esp, ebp
pop ebp
ret