Function at 0x46b0f0
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52023d
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x5ba11c]
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.0046c050
mov edx, 0x581f8c
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x22c]
call fcn.004524f0
test al, al
je 0x46b18b
push 1
jmp 0x46b18d
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 0x46b258
push 0
push str.File
push 0x58334c
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x224]
call fcn.0046c050
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 0x46b237
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b228
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b228
call fcn.00453690
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 0x46b21d
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 0x46b237
push dword [edx - 0xc]
lea ecx, [ebx + 0x110]
push edx
call fcn.00453760
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 0x46b258
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x244]
call fcn.0045c280
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.0046c050
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 0x46b2f0
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b2e1
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b2e1
call fcn.00453690
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 6
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x46b2d6
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 0x46b2f0
push dword [edx - 0xc]
lea ecx, [ebp - 0x244]
push edx
call fcn.00453760
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 0x46b311
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.0046c050
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 0x46b39e
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b38f
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b38f
call fcn.00453690
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 9
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x46b384
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 0x46b39e
push dword [edx - 0xc]
lea ecx, [ebp - 0x23c]
push edx
call fcn.00453760
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 0x46b3bf
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 [0x5c45c8]
lea ecx, [ebp - 0x224]
push str.PrimaryServerPort
push str.Common
push eax
call fcn.0046c050
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 0x46b450
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b441
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b441
call fcn.00453690
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0xc
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x46b436
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 0x46b450
push dword [edx - 0xc]
lea ecx, [ebp - 0x238]
push edx
call fcn.00453760
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 0x46b471
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.0046c050
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 0x46b4fe
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b4ef
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b4ef
call fcn.00453690
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0xf
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x46b4e4
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 0x46b4fe
push dword [edx - 0xc]
lea ecx, [ebp - 0x234]
push edx
call fcn.00453760
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 0x46b51f
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 [0x5c45c8]
lea ecx, [ebp - 0x224]
push str.AlternateServerPort
push str.Common
push eax
call fcn.0046c050
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 0x46b5b0
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b5a1
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b5a1
call fcn.00453690
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 0x12
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x46b596
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 0x46b5b0
push dword [edx - 0xc]
lea ecx, [ebp - 0x230]
push edx
call fcn.00453760
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 0x46b5d1
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.00468b00
push 0
push 0x583410
push str.AddComp
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x224]
call fcn.0046c050
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 0x46b669
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b65d
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b65d
call fcn.00453690
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 0x46b655
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 0x46b669
push dword [edx - 0xc]
lea ecx, [ebx + 0x7c]
push edx
call fcn.00453760
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 0x46b68a
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.0046c050
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 0x46b714
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b708
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b708
call fcn.00453690
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 0x46b700
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 0x46b714
push dword [edx - 0xc]
lea ecx, [ebx + 0x64]
push edx
call fcn.00453760
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 0x46b735
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.0046c050
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 0x46b7bf
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b7b3
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b7b3
call fcn.00453690
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 0x46b7ab
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 0x46b7bf
push dword [edx - 0xc]
lea ecx, [ebx + 0x6c]
push edx
call fcn.00453760
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 0x46b7e0
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 [0x5c45c8]
lea ecx, [ebp - 0x224]
push str.PrimaryServerPort
push str.AddComp
push eax
call fcn.0046c050
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 0x46b86e
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b862
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b862
call fcn.00453690
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 0x46b85a
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 0x46b86e
push dword [edx - 0xc]
lea ecx, [ebx + 0x70]
push edx
call fcn.00453760
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 0x46b88f
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.0046c050
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 0x46b919
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b90d
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b90d
call fcn.00453690
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 0x46b905
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 0x46b919
push dword [edx - 0xc]
lea ecx, [ebx + 0x74]
push edx
call fcn.00453760
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 0x46b93a
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 [0x5c45c8]
lea ecx, [ebp - 0x224]
push str.AlternateServerPort
push str.AddComp
push eax
call fcn.0046c050
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 0x46b9c8
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46b9bc
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46b9bc
call fcn.00453690
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 0x46b9b4
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 0x46b9c8
push dword [edx - 0xc]
lea ecx, [ebx + 0x78]
push edx
call fcn.00453760
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 0x46b9e9
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.0046c050
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x220]
push dword [ebp - 0x21c]
call fcn.004523d0
mov edi, dword [sym.imp.WSOCK32.dll_inet_addr]
push dword [eax]
call edi
mov ecx, eax
call fcn.004c17d0
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 0x46ba5e
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 0x46ba7f
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.0046c050
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x220]
push dword [ebp - 0x21c]
call fcn.004523d0
push dword [eax]
call edi
mov ecx, eax
call fcn.004c17d0
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 0x46bae8
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 0x46bb09
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.0046c050
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 0x46bb96
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46bb87
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46bb87
call fcn.00453690
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 0x46bb7c
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 0x46bb96
push dword [edx - 0xc]
lea ecx, [ebx + 0xa8]
push edx
call fcn.00453760
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 0x46bbb7
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.0046c050
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 0x46bc4a
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46bc3b
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46bc3b
call fcn.00453690
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 0x46bc30
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 0x46bc4a
push dword [edx - 0xc]
lea ecx, [ebx + 0xb0]
push edx
call fcn.00453760
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 0x46bc6b
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 [0x5c45c8]
lea ecx, [ebp - 0x224]
push str.PrimaryServerPort
push str.AddRange
push eax
call fcn.0046c050
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 0x46bd02
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46bcf3
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46bcf3
call fcn.00453690
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 0x46bce8
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 0x46bd02
push dword [edx - 0xc]
lea ecx, [ebx + 0xb4]
push edx
call fcn.00453760
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 0x46bd23
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.0046c050
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 0x46bdb6
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46bda7
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46bda7
call fcn.00453690
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 0x46bd9c
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 0x46bdb6
push dword [edx - 0xc]
lea ecx, [ebx + 0xb8]
push edx
call fcn.00453760
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 0x46bdd7
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 [0x5c45c8]
lea ecx, [ebp - 0x224]
push str.AlternateServerPort
push str.AddRange
push eax
call fcn.0046c050
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 0x46be6e
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46be5f
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46be5f
call fcn.00453690
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 0x46be54
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 0x46be6e
push dword [edx - 0xc]
lea ecx, [ebx + 0xbc]
push edx
call fcn.00453760
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 0x46be8f
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.0046c050
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 0x46bf22
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46bf13
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46bf13
call fcn.00453690
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 0x46bf08
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 0x46bf22
push dword [edx - 0xc]
lea ecx, [ebx + 0x9c]
push edx
call fcn.00453760
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 0x46bf43
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.0046c050
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 0x46bfd6
mov eax, dword [edi + 0xc]
shr eax, 0x1f
test al, al
jne 0x46bfc7
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x46bfc7
call fcn.00453690
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 0x46bfbc
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 0x46bfd6
push dword [edx - 0xc]
lea ecx, [ebx + 0xa0]
push edx
call fcn.00453760
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 0x46bff7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x244]
call fcn.0045c3b0
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 0x46c024
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.004eabba
mov esp, ebp
pop ebp
ret