Function at 0x486340
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0x3ec
push ebp
mov ebp, ecx
mov ecx, dword [esp + 0x3fc]
mov word [esp + 4], dx
call fcn.004dbea0
test eax, eax
jne 0x486368
pop ebp
add esp, 0x3ec
ret 0xc
mov al, byte [0x5974e0]
push ebx
push esi
xor ebx, ebx
test al, al
push edi
jne 0x48639d
push 0x578808
call fcn.005659d6
add esp, 4
cmp eax, ebx
je 0x4863bf
cmp byte [eax], 0
je 0x4863bf
mov edx, 0x5974e0
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x486393
mov edi, dword [esp + 0x400]
cmp edi, 0xffffffff
jne 0x48652d
pop edi
pop esi
pop ebx
mov eax, 1
pop ebp
add esp, 0x3ec
ret 0xc
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e210
lea edx, [esp + 0x14]
mov ecx, 0xa8d
call fcn.0041c9e0
mov esi, dword [0x59a15c]
cmp esi, ebx
mov ebp, dword [esp + 0x404]
je 0x486433
lea esp, [esp]
cmp dword [esi + 8], ebp
jne 0x486400
mov ecx, esi
call fcn.004dc0f0
test eax, eax
je 0x48640c
mov esi, dword [esi + 0x22dc]
cmp esi, ebx
jne 0x4863f0
jmp 0x486433
lea eax, [esp + 0x14]
lea edi, [esi + 0x444]
push eax
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e120
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
push 2
lea ecx, [esp + 0x18]
push 0x576f18
push ecx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x48646f
lea eax, [esp + 0x16]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x486452
sub eax, edx
inc eax
push eax
lea edx, [esp + 0x1a]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.005641d0
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x14]
call fcn.005190f0
mov ecx, dword [0x592640]
cmp ecx, ebx
je 0x486496
cmp dword [ecx + 0x52c], ebp
je 0x4864d4
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebx
jne 0x486484
mov ecx, dword [0x59e068]
cmp ecx, ebx
je 0x4864b2
cmp dword [ecx + 0x340], ebp
je 0x4864e5
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebx
jne 0x4864a0
mov ecx, dword [0x597650]
cmp ecx, ebx
je 0x48650b
lea esp, [esp]
cmp dword [ecx + 0x444], ebp
je 0x4864f9
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebx
jne 0x4864c0
jmp 0x48650b
lea edx, [esp + 0x14]
mov dword [ecx + 0x52c], ebx
call fcn.0042b4a0
jmp 0x48650b
lea edx, [esp + 0x14]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebx
call fcn.0050e340
jmp 0x48650b
lea eax, [esp + 0x14]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebx
call fcn.0048b250
mov eax, dword [0x5974d8]
cmp eax, ebx
je 0x48651e
mov eax, dword [eax + 0x80]
cmp eax, ebx
jne 0x486514
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3ec
ret 0xc
mov eax, dword [0x597614]
test eax, eax
mov ebx, dword [sym.imp.WSOCK32.dll_inet_addr]
jne 0x486841
push ebp
call ebx
cmp eax, 0xffffffff
jne 0x4866c1
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e210
lea edx, [esp + 0x14]
mov ecx, 0xa90
call fcn.0041c9e0
mov esi, dword [0x59a15c]
mov ebx, dword [esp + 0x404]
xor ebp, ebp
cmp esi, ebp
je 0x4865c3
jmp 0x486580
cmp dword [esi + 8], ebx
jne 0x486590
mov ecx, esi
call fcn.004dc0f0
test eax, eax
je 0x48659c
mov esi, dword [esi + 0x22dc]
cmp esi, ebp
jne 0x486580
jmp 0x4865c3
lea ecx, [esp + 0x14]
lea edi, [esi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e120
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
push 2
lea edx, [esp + 0x18]
push 0x576f18
push edx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x4865ff
lea eax, [esp + 0x16]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4865e2
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.005641d0
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x14]
call fcn.005190f0
mov ecx, dword [0x592640]
cmp ecx, ebp
je 0x486626
cmp dword [ecx + 0x52c], ebx
je 0x486664
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x486614
mov ecx, dword [0x59e068]
cmp ecx, ebp
je 0x486642
cmp dword [ecx + 0x340], ebx
je 0x486675
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x486630
mov ecx, dword [0x597650]
cmp ecx, ebp
je 0x48669b
lea esp, [esp]
cmp dword [ecx + 0x444], ebx
je 0x486689
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x486650
jmp 0x48669b
lea edx, [esp + 0x14]
mov dword [ecx + 0x52c], ebp
call fcn.0042b4a0
jmp 0x48669b
lea edx, [esp + 0x14]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.0050e340
jmp 0x48669b
lea eax, [esp + 0x14]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.0048b250
mov eax, dword [0x5974d8]
cmp eax, ebp
je 0x48651e
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4866a8
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3ec
ret 0xc
cmp edi, 1
jne 0x486841
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e210
lea edx, [esp + 0x14]
mov ecx, 0xa96
call fcn.0041c9e0
mov esi, dword [0x59a15c]
mov ebx, dword [esp + 0x404]
xor ebp, ebp
cmp esi, ebp
je 0x486743
lea esp, [esp]
cmp dword [esi + 8], ebx
jne 0x486710
mov ecx, esi
call fcn.004dc0f0
test eax, eax
je 0x48671c
mov esi, dword [esi + 0x22dc]
cmp esi, ebp
jne 0x486700
jmp 0x486743
lea ecx, [esp + 0x14]
lea edi, [esi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e120
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
push 2
lea edx, [esp + 0x18]
push 0x576f18
push edx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x48677f
lea eax, [esp + 0x16]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x486762
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.005641d0
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x14]
call fcn.005190f0
mov ecx, dword [0x592640]
cmp ecx, ebp
je 0x4867a6
cmp dword [ecx + 0x52c], ebx
je 0x4867e4
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x486794
mov ecx, dword [0x59e068]
cmp ecx, ebp
je 0x4867c2
cmp dword [ecx + 0x340], ebx
je 0x4867f5
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x4867b0
mov ecx, dword [0x597650]
cmp ecx, ebp
je 0x48681b
lea esp, [esp]
cmp dword [ecx + 0x444], ebx
je 0x486809
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x4867d0
jmp 0x48681b
lea edx, [esp + 0x14]
mov dword [ecx + 0x52c], ebp
call fcn.0042b4a0
jmp 0x48681b
lea edx, [esp + 0x14]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.0050e340
jmp 0x48681b
lea eax, [esp + 0x14]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.0048b250
mov eax, dword [0x5974d8]
cmp eax, ebp
je 0x48651e
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x486828
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3ec
ret 0xc
cmp dword [0x597614], 2
jne 0x4869d1
cmp edi, 1
jne 0x4869d1
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e210
lea edx, [esp + 0x14]
mov ecx, 0xa96
call fcn.0041c9e0
mov esi, dword [0x59a15c]
mov ebx, dword [esp + 0x404]
xor ebp, ebp
cmp esi, ebp
je 0x4868c9
cmp dword [esi + 8], ebx
jne 0x486896
mov ecx, esi
call fcn.004dc0f0
test eax, eax
je 0x4868a2
mov esi, dword [esi + 0x22dc]
cmp esi, ebp
jne 0x486886
jmp 0x4868c9
lea ecx, [esp + 0x14]
lea edi, [esi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e120
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
push 2
lea edx, [esp + 0x18]
push 0x576f18
push edx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x486905
lea eax, [esp + 0x16]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4868e8
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.005641d0
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x14]
call fcn.005190f0
mov ecx, dword [0x592640]
cmp ecx, ebp
je 0x486932
lea ebx, [ebx]
cmp dword [ecx + 0x52c], ebx
je 0x486974
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x486920
mov ecx, dword [0x59e068]
cmp ecx, ebp
je 0x486952
lea esp, [esp]
cmp dword [ecx + 0x340], ebx
je 0x486985
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x486940
mov ecx, dword [0x597650]
cmp ecx, ebp
je 0x4869ab
lea esp, [esp]
cmp dword [ecx + 0x444], ebx
je 0x486999
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x486960
jmp 0x4869ab
lea edx, [esp + 0x14]
mov dword [ecx + 0x52c], ebp
call fcn.0042b4a0
jmp 0x4869ab
lea edx, [esp + 0x14]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.0050e340
jmp 0x4869ab
lea eax, [esp + 0x14]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.0048b250
mov eax, dword [0x5974d8]
cmp eax, ebp
je 0x48651e
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x4869b8
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3ec
ret 0xc
call fcn.00484390
mov esi, eax
test esi, esi
jne 0x486b51
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e210
lea edx, [esp + 0x14]
mov ecx, 0xa91
call fcn.0041c9e0
mov esi, dword [0x59a15c]
mov ebx, dword [esp + 0x404]
xor ebp, ebp
cmp esi, ebp
je 0x486a53
nop
cmp dword [esi + 8], ebx
jne 0x486a20
mov ecx, esi
call fcn.004dc0f0
test eax, eax
je 0x486a2c
mov esi, dword [esi + 0x22dc]
cmp esi, ebp
jne 0x486a10
jmp 0x486a53
lea ecx, [esp + 0x14]
lea edi, [esi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e120
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
push 2
lea edx, [esp + 0x18]
push 0x576f18
push edx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x486a8f
lea eax, [esp + 0x16]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x486a72
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.005641d0
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x14]
call fcn.005190f0
mov ecx, dword [0x592640]
cmp ecx, ebp
je 0x486ab6
cmp dword [ecx + 0x52c], ebx
je 0x486af4
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebp
jne 0x486aa4
mov ecx, dword [0x59e068]
cmp ecx, ebp
je 0x486ad2
cmp dword [ecx + 0x340], ebx
je 0x486b05
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebp
jne 0x486ac0
mov ecx, dword [0x597650]
cmp ecx, ebp
je 0x486b2b
lea esp, [esp]
cmp dword [ecx + 0x444], ebx
je 0x486b19
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebp
jne 0x486ae0
jmp 0x486b2b
lea edx, [esp + 0x14]
mov dword [ecx + 0x52c], ebp
call fcn.0042b4a0
jmp 0x486b2b
lea edx, [esp + 0x14]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebp
call fcn.0050e340
jmp 0x486b2b
lea eax, [esp + 0x14]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebp
call fcn.0048b250
mov eax, dword [0x5974d8]
cmp eax, ebp
je 0x48651e
mov eax, dword [eax + 0x80]
cmp eax, ebp
jne 0x486b38
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3ec
ret 0xc
mov edx, esi
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x486b57
mov cx, word [esp + 0x10]
mov ebp, dword [esp + 0x404]
mov word [esi + 0x64], cx
mov dword [esi + 0x68], edi
mov dword [esi + 0x70], ebp
mov dword [esi + 0x6c], 0
mov dword [esi + 0x74], 0xb4
mov edx, dword [0x597614]
push 0x5974e0
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], 0xffffffff
call ebx
cmp eax, 0xffffffff
jne 0x486d31
mov eax, dword [esp + 0x408]
mov ecx, dword [eax]
push 6
xor ebx, ebx
push ebx
push 0x5974e0
mov edx, str.firewall
call fcn.0046d660
test eax, eax
jne 0x4863ad
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e210
lea edx, [esp + 0x14]
mov ecx, 0xa92
call fcn.0041c9e0
mov esi, dword [0x59a15c]
cmp esi, ebx
je 0x486c33
cmp dword [esi + 8], ebp
jne 0x486c00
mov ecx, esi
call fcn.004dc0f0
test eax, eax
je 0x486c0c
mov esi, dword [esi + 0x22dc]
cmp esi, ebx
jne 0x486bf0
jmp 0x486c33
lea ecx, [esp + 0x14]
lea edi, [esi + 0x444]
push ecx
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e120
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
push 2
lea edx, [esp + 0x18]
push 0x576f18
push edx
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x486c6f
lea eax, [esp + 0x16]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x486c52
sub eax, edx
inc eax
push eax
lea eax, [esp + 0x1a]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.005641d0
add esp, 0xc
mov dl, 0x20
lea ecx, [esp + 0x14]
call fcn.005190f0
mov ecx, dword [0x592640]
cmp ecx, ebx
je 0x486c96
cmp dword [ecx + 0x52c], ebp
je 0x486cd4
mov ecx, dword [ecx + 0x88c]
cmp ecx, ebx
jne 0x486c84
mov ecx, dword [0x59e068]
cmp ecx, ebx
je 0x486cb2
cmp dword [ecx + 0x340], ebp
je 0x486ce5
mov ecx, dword [ecx + 0x3cc]
cmp ecx, ebx
jne 0x486ca0
mov ecx, dword [0x597650]
cmp ecx, ebx
je 0x486d0b
lea esp, [esp]
cmp dword [ecx + 0x444], ebp
je 0x486cf9
mov ecx, dword [ecx + 0x4bc]
cmp ecx, ebx
jne 0x486cc0
jmp 0x486d0b
lea edx, [esp + 0x14]
mov dword [ecx + 0x52c], ebx
call fcn.0042b4a0
jmp 0x486d0b
lea edx, [esp + 0x14]
push edx
xor edx, edx
mov dword [ecx + 0x340], ebx
call fcn.0050e340
jmp 0x486d0b
lea eax, [esp + 0x14]
push eax
xor edx, edx
mov dword [ecx + 0x444], ebx
call fcn.0048b250
mov eax, dword [0x5974d8]
cmp eax, ebx
je 0x48651e
mov eax, dword [eax + 0x80]
cmp eax, ebx
jne 0x486d18
pop edi
pop esi
pop ebx
xor eax, eax
pop ebp
add esp, 0x3ec
ret 0xc
mov edx, esi
mov ecx, 0x5974e0
call fcn.00484880
pop edi
neg eax
pop esi
sbb eax, eax
pop ebx
neg eax
pop ebp
add esp, 0x3ec
ret 0xc