Function at 0x419620
Capabilities:
Check for time delay via gettickcount
Create raw socket
Create tcp socket
Create udp socket
Get socket status

Disassembly:
mov eax, 0x86a4
call fcn.00457d20
push ebx
mov ebx, dword [esp + 0x86ac]
push ebp
mov ebp, ecx
mov eax, dword [ebx + 4]
push esi
mov dword [esp + 0x10], eax
xor eax, eax
lea ecx, [esp + 0x34]
push edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], eax
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x698]
push edx
mov esi, 0x1000
push eax
push ebx
mov ecx, ebp
mov byte [esp + 0x16a4], 0
mov dword [esp + 0x20], esi
call fcn.0042ac80
test eax, eax
je 0x41b8e5
mov eax, dword [esp + 0x10]
mov edi, 1
cmp eax, esi
jne 0x41968c
mov dword [esp + 0x18], edi
mov eax, dword [ebp + 4]
xor esi, esi
cmp dword [eax + 0x275f4], edi
jne 0x4196b5
mov ecx, dword [ebx + 0x24]
cmp ecx, 0xffffffff
je 0x4196b3
mov edx, dword [eax + 0x275c8]
lea ecx, [ecx + ecx*2]
shl ecx, 6
mov esi, dword [ecx + edx + 0x44]
jmp 0x4196b5
mov esi, edi
lea eax, [esp + 0x694]
mov ecx, ebp
push eax
call fcn.0042b590
test eax, eax
je 0x4196dd
mov ecx, dword [ebp + 4]
cmp dword [ecx + 0x275f4], edi
jne 0x4196dd
cmp dword [ebx + 0x24], 0xffffffff
je 0x41b8e5
test esi, esi
je 0x41983b
test eax, eax
jne 0x41983b
lea edi, [esp + 0x694]
mov dword [esp + 0x2c], edi
push 0x14
push str.proxy_authorization:
push edi
call fcn.00459d50
add esp, 0xc
test eax, eax
je 0x419729
push 0x48d240
push edi
call fcn.00457ca0
mov edi, eax
add esp, 8
test edi, edi
je 0x41989b
add edi, 2
jmp 0x4196f8
test edi, edi
mov dword [esp + 0x2c], edi
je 0x41989f
push str.Basic
push edi
call fcn.00457ca0
mov edx, eax
add esp, 8
test edx, edx
je 0x41b8e5
mov edi, str.Basic
or ecx, 0xffffffff
xor eax, eax
push 0x48d240
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
add edi, edx
push edi
call fcn.00457ca0
mov esi, eax
add esp, 8
test esi, esi
je 0x41b8e5
push ebx
push edi
mov ecx, ebp
mov byte [esi], 0
call fcn.00423f00
test eax, eax
je 0x41989f
lea edi, [esi + 2]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x694]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ebx
mov dword [esp + 0x10], ecx
mov ecx, 0x4e
lea edi, [esp + 0x15c]
lea eax, [esp + 0x15c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx]
push eax
push ecx
mov ecx, dword [ebp + 4]
add ecx, 0x27600
mov dword [esp + 0x180], 1
call fcn.004425b0
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 4]
push edx
push eax
push ecx
mov ecx, dword [ebp + 4]
add ecx, 0x241e0
call fcn.00408990
test eax, eax
jne 0x41b8e5
mov eax, dword [ebx]
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x15c]
add ecx, 0x27600
push edx
push eax
mov dword [esp + 0x180], 2
call fcn.004425b0
mov dl, byte [0x493b50]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x269d]
mov byte [esp + 0x269c], dl
mov edx, dword [ebp + 4]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x10]
cmp eax, 0xffffffff
je 0x419931
mov edx, dword [edx + 0x275c8]
lea eax, [eax + eax*2]
shl eax, 6
add eax, edx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x26a4]
push str._s__s_Web
push ecx
call fcn.00457c43
add esp, 0x10
jmp 0x419982
mov dword [esp + 0x2c], edi
mov cl, byte [0x493b50]
mov edx, dword [ebp + 4]
mov byte [esp + 0x46a4], cl
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x46a5]
add edx, 0x14b0
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x46a8]
push str.HTTP_1.0_407_Unauthorized_r_nServer:_CCProxy_r_nProxy_Authenticate:_Basic_realm__s__r_nCache_control:_no_cache_r_n_r_n
push eax
call fcn.00457c43
add esp, 0xc
lea ecx, [esp + 0x46a4]
mov esi, dword [esp + 0x14]
push ecx
push esi
mov ecx, ebp
call fcn.0041c1a0
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x24b8]
test ecx, ecx
jne 0x419919
add eax, 0x20b8
mov ecx, ebp
push eax
push esi
call fcn.0041c1a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x86a4
ret 4
push ecx
push esi
mov ecx, ebp
call fcn.0041c1a0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [edx + 0x275fc]
test eax, eax
je 0x419965
mov dl, byte [ebx + 0x28]
lea eax, [ebx + 0x28]
test dl, dl
je 0x419965
push eax
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [esp + 0x26a4]
push str._s__s_Web
push eax
call fcn.00457c43
add esp, 0x10
jmp 0x419982
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x26a0]
push str._s_unknown_Web
push ecx
call fcn.00457c43
add esp, 0xc
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0xa558]
test eax, eax
je 0x419a18
lea eax, [esp + 0x694]
push 0x48d240
push eax
call fcn.00457ca0
mov esi, eax
add esp, 8
test esi, esi
je 0x41b8e5
lea edi, [esp + 0x269c]
or ecx, 0xffffffff
xor eax, eax
mov byte [esi], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x1001
sub edx, ecx
lea eax, [esp + 0x694]
push edx
push eax
lea edi, [esp + 0x26a4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [esp + ecx + 0x26a4]
push ecx
call fcn.00458800
lea edx, [esp + 0x26a8]
push 0x20
mov byte [esp + 0x36ac], 0
push edx
mov byte [esi], 0xd
call fcn.004584c0
add esp, 0x14
test eax, eax
je 0x419a18
mov byte [eax], 0
lea eax, [esp + 0x269c]
push eax
call fcn.00430470
mov eax, dword [ebp + 4]
add esp, 4
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x419a5a
mov ecx, dword [eax + 0xc70]
test ecx, ecx
je 0x419a5a
mov ecx, dword [eax + 0xc7c]
test ecx, ecx
je 0x419a5a
call fcn.00419050
test al, al
jne 0x419a5a
mov ecx, dword [ebx + 0x24]
push ecx
mov ecx, ebp
call fcn.004239b0
mov dl, byte [0x493b50]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x36a1]
mov byte [esp + 0x36a0], dl
lea edx, [esp + 0x10]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x28]
lea ecx, [esp + 0x36a0]
push eax
push ecx
lea eax, [esp + 0x69c]
push edx
push eax
mov ecx, ebp
mov dword [esp + 0x38], 0x50
call fcn.0041b900
mov esi, eax
test esi, esi
jne 0x419ab8
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x419b48
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
shl ecx, 6
mov eax, dword [edx + 0x275c8]
mov eax, dword [ecx + eax + 0x74]
cmp eax, 0xffffffff
mov dword [esp + 0x40], eax
je 0x419b48
mov cl, byte [0x493b50]
mov edx, dword [esp + 0x28]
mov byte [esp + 0x46a4], cl
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x46a5]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x36a0]
push edx
push eax
lea ecx, [esp + 0x46ac]
push str._s:_d
push ecx
call fcn.00457c43
mov ecx, dword [esp + 0x50]
add esp, 0x10
lea edx, [esp + 0x694]
lea eax, [esp + 0x46a4]
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
mov ecx, ebp
call fcn.0042b340
test eax, eax
jne 0x41b8e5
mov edi, str.ccproxy.connect
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x36a0]
push ecx
push str.ccproxy.connect
push eax
call fcn.00459d50
add esp, 0xc
test eax, eax
jne 0x419b8e
lea ecx, [esp + 0x36a0]
push ecx
push ebx
mov ecx, ebp
call fcn.00427130
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x86a4
ret 4
mov edi, str.ccproxy.disconnect
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x36a0]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ccproxy.disconnect
push edx
call fcn.00459d50
add esp, 0xc
test eax, eax
jne 0x419cb3
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jne 0x419c23
mov edi, str.dial_disabled._r_n
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x294]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x294]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x298]
push ecx
push edx
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x86a4
ret 4
mov ebx, dword [ebx + 0x24]
cmp ebx, 0xffffffff
je 0x419c3e
mov edx, dword [eax + 0x275c8]
lea ecx, [ebx + ebx*2]
shl ecx, 6
test byte [ecx + edx + 0x68], 0x10
je 0x419bc5
lea eax, [esp + 0x294]
push str.disconnected.
push eax
call fcn.00457c43
lea ecx, [esp + 0x29c]
push ecx
call fcn.004191a0
mov edi, 0x48d240
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x294]
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x294]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x294]
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
jmp 0x419c0d
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov ecx, dword [ebp + 4]
mov edi, eax
push edi
push ebx
add ecx, 0x27600
mov dword [esp + 0x28], edi
call fcn.00442570
cmp esi, 4
jne 0x419e2a
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0x3c]
test eax, eax
je 0x41b8e5
mov eax, dword [esp + 0x28]
push 0
lea ecx, [esp + 0x36a4]
push eax
push ecx
push ebx
push edi
mov ecx, ebp
call fcn.00425b50
test eax, eax
je 0x41b8e5
mov esi, dword [esp + 0x14]
mov ecx, ebp
push esi
call fcn.0042b2e0
test eax, eax
je 0x419d42
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x698]
push edx
push eax
push ebx
push esi
mov ecx, ebp
mov dword [esp + 0x24], 0x1000
call fcn.0041c300
push str.6.4.1
lea ecx, [esp + 0x298]
push str.HTTP_1.0_200_Connection_established_r_nProxy_agent:_CCProxy__s_r_n_r_n
push ecx
call fcn.00457c43
lea edi, [esp + 0x2a0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x294]
not ecx
dec ecx
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov edx, dword [ebx + 0x24]
xor esi, esi
cmp edx, 0xffffffff
je 0x419e0a
lea edi, [esp + 0x294]
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 4]
push edx
add ecx, 0x241e0
call fcn.00406430
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x275c8]
shl edx, 6
mov eax, dword [eax + edx + 0x74]
cmp eax, 0xffffffff
je 0x419e0a
mov edx, eax
mov ecx, dword [ecx + 0x275e8]
shl edx, 8
add edx, eax
lea edx, [eax + edx*2]
lea edx, [edx + edx*2]
lea eax, [eax + edx*2]
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 0x3040]
test ecx, ecx
je 0x419e0a
lea edx, [eax + 0x1038]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x419e0a
mov esi, edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push esi
push edx
push eax
push ebx
mov ecx, ebp
call fcn.00423a00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x86a4
ret 4
cmp esi, 1
jne 0x41b847
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x41b8e5
mov ecx, dword [eax + 0x410c]
test ecx, ecx
je 0x419e62
add eax, 0x4510
push 0x48e8f4
push eax
call fcn.0045c970
add esp, 8
test eax, eax
je 0x419e90
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x410c]
test ecx, ecx
jne 0x419ec9
mov ecx, dword [eax + 0x5118]
test ecx, ecx
je 0x419ec9
add eax, 0x652c
push 0x48e8f4
push eax
call fcn.0045c970
add esp, 8
test eax, eax
jne 0x419ec9
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x10]
push 1
lea edx, [esp + 0x698]
push ecx
push edx
lea ecx, [esp + 0x36ac]
push eax
push ecx
push edi
mov ecx, ebp
call fcn.0042b5f0
test eax, eax
jne 0x419f3e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [ebp + 4]
cmp dword [eax + 0x54], 1
jne 0x419f1e
mov ecx, dword [eax + 0x60]
test ecx, ecx
je 0x419f1e
push 3
lea edx, [esp + 0x698]
push 0x48e8f0
push edx
call fcn.00459d50
add esp, 0xc
test eax, eax
jne 0x419f1e
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push ebx
lea ecx, [esp + 0x36a4]
push eax
push ecx
lea eax, [esp + 0x6a0]
push edx
push eax
mov ecx, ebp
call fcn.00424810
test eax, eax
jne 0x41b8e5
mov ecx, dword [esp + 0x28]
push 0
lea edx, [esp + 0x36a4]
push ecx
push edx
push ebx
push edi
mov ecx, ebp
call fcn.00425b50
test eax, eax
je 0x41b8e5
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x694]
push eax
push ecx
push edi
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x419f79
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 4]
push 1
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
mov eax, dword [esp + 0x18]
xor esi, esi
cmp eax, esi
je 0x41a088
lea eax, [esp + 0x38]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x698]
push ecx
push edx
push ebx
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
call fcn.0042ac80
test eax, eax
je 0x41b8e5
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], esi
cmp eax, 0x1000
jne 0x419fc8
mov dword [esp + 0x18], 1
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41a061
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*2]
shl eax, 6
mov edx, dword [ecx + 0x275c8]
mov eax, dword [eax + edx + 0x74]
cmp eax, 0xffffffff
je 0x41a042
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [edx + esi + 0x3040]
test eax, eax
je 0x41a042
lea edi, [edx + esi + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41a042
lea eax, [esi + edx + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x41a2dc
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 4]
push 1
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
mov edi, dword [esp + 0x20]
xor esi, esi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x694]
push ecx
push edx
push edi
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
cmp dword [esp + 0x18], esi
jne 0x419f87
mov ecx, dword [esp + 0x38]
cmp ecx, esi
jle 0x41a384
mov eax, ecx
mov dword [esp + 0x24], esi
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
test eax, eax
jle 0x41a1b3
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 8
lea edx, [esp + 0x698]
push ecx
push edx
push ebx
push eax
mov ecx, ebp
mov dword [esp + 0x24], 0x1000
call fcn.0041c300
test eax, eax
je 0x41b8e5
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41a171
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [edx + eax + 0x74]
cmp eax, 0xffffffff
je 0x41a154
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [edx + esi + 0x3040]
test eax, eax
je 0x41a154
lea edi, [edx + esi + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41a154
lea eax, [edx + esi + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x41a2dc
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 4]
push 1
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x694]
push ecx
push edx
push edi
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
mov eax, ecx
inc esi
cdq
and edx, 0xfff
mov dword [esp + 0x24], esi
add eax, edx
sar eax, 0xc
cmp esi, eax
jl 0x41a0ae
xor esi, esi
mov eax, ecx
push 8
cdq
and edx, 0xfff
add eax, edx
lea edx, [esp + 0x698]
sar eax, 0xc
shl eax, 0xc
sub ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
push ecx
push edx
push ebx
push eax
mov ecx, ebp
call fcn.0041c300
test eax, eax
je 0x41b8e5
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41a363
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [edx + eax + 0x74]
cmp eax, 0xffffffff
je 0x41a344
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [edx + esi + 0x3040]
test eax, eax
je 0x41a344
lea edi, [edx + esi + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41a344
lea eax, [edx + esi + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
je 0x41a344
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20b4]
test edx, edx
jne 0x41b81b
add eax, 0x1cb4
lea edx, [esp + 0x694]
push eax
push 0x48d48c
push edx
call fcn.00457c43
lea edi, [esp + 0x6a0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x694]
mov dword [esp + 0x10], ecx
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20b4]
test edx, edx
jne 0x41b74d
add eax, 0x1cb4
push eax
lea eax, [esp + 0x698]
push 0x48d48c
push eax
call fcn.00457c43
lea edi, [esp + 0x6a0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x14]
not ecx
dec ecx
mov dword [esp + 0x10], ecx
push ecx
lea ecx, [esp + 0x698]
push ecx
push edx
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x24]
push 1
push eax
push ecx
mov ecx, dword [ebp + 4]
add ecx, 0x241e0
call fcn.00406430
mov edi, dword [esp + 0x20]
xor esi, esi
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x694]
push edx
push eax
push edi
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov dword [esp + 0x38], esi
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
mov dword [esp + 0x30], esi
je 0x41a3e3
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov ecx, dword [ecx + 0x209fc]
add eax, edx
cmp ecx, 1
mov edx, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
lea edi, [eax + edx]
mov dword [esp + 0x30], edi
jne 0x41a3da
mov dword [esp + 0x30], edx
cmp ecx, 2
jne 0x41a3e3
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x34], esi
cmp eax, 2
mov dword [esp + 0x24], 1
jne 0x41b64f
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
test ecx, ecx
je 0x41b64f
xor ecx, ecx
cmp eax, 0xffffffff
mov dword [esp + 0x58], ecx
je 0x41a426
mov ecx, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
xor eax, eax
test ecx, ecx
jbe 0x41a43c
lea edx, [esp + 0x5c]
cmp dword [edx], esi
je 0x41a43c
inc eax
add edx, 4
cmp eax, ecx
jb 0x41a430
cmp eax, ecx
jne 0x41a452
cmp ecx, 0x40
jae 0x41a452
mov dword [esp + eax*4 + 0x5c], esi
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
lea edx, [esp + 0x58]
push ecx
push 0
push 0
push edx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jne 0x41a494
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0xa9b8]
cmp eax, 0xffffffff
je 0x41b63e
mov ecx, dword [esp + 0x44]
inc ecx
cmp ecx, eax
mov dword [esp + 0x44], ecx
jg 0x41b8e5
jmp 0x41b63e
test eax, eax
mov dword [esp + 0x44], 0
jl 0x41b661
mov ecx, dword [esp + 0x86b8]
mov eax, dword [ecx + 0x24]
cmp eax, 0xffffffff
je 0x41a574
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
shl edx, 6
mov ecx, dword [eax + 0x275c8]
mov eax, dword [edx + ecx + 0x70]
cmp eax, 0xffffffff
jle 0x41a574
test eax, eax
je 0x41b809
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esp + 0x86b8]
mov ebx, eax
mov eax, dword [ebp + 4]
mov ecx, dword [edx + 0x24]
mov edx, dword [eax + 0x275c8]
mov eax, dword [eax + 0x209fc]
lea ecx, [ecx + ecx*2]
shl ecx, 6
add ecx, edx
cmp eax, 1
mov edx, dword [ecx + 0x80]
mov edi, dword [ecx + 0x7c]
lea esi, [edi + edx]
jne 0x41a517
mov esi, edx
cmp eax, 2
jne 0x41a51e
mov esi, edi
cmp esi, dword [esp + 0x30]
jae 0x41a52c
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x30]
lea eax, [esi + esi*2]
lea edi, [edx + edx*2]
lea eax, [esi + eax*8]
lea edx, [edx + edi*8]
lea eax, [eax + eax*4]
shl eax, 3
lea edx, [edx + edx*4]
shl edx, 3
sub eax, edx
xor edx, edx
div dword [ecx + 0x70]
mov ecx, dword [esp + 0x40]
mov edx, ebx
sub edx, ecx
cmp edx, eax
jae 0x41a574
sub eax, ebx
add eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x58]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x41aef7
mov esi, dword [esp + 0x86b8]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x694]
push ecx
push edx
push esi
push edi
mov ecx, ebp
mov dword [esp + 0x20], 0x1000
mov byte [esp + 0x6a4], 0
call fcn.0041ca00
test eax, eax
je 0x41b673
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x41a5de
mov ecx, dword [esp + 0x10]
push 1
push ecx
mov ecx, dword [ebp + 4]
push eax
add ecx, 0x241e0
call fcn.00406430
mov dl, byte [0x493b50]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x46a5]
mov byte [esp + 0x46a4], dl
lea edx, [esp + 0x10]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x46a4]
push eax
push ecx
lea eax, [esp + 0x69c]
push edx
push eax
mov ecx, ebp
mov dword [esp + 0x4c], 0
mov dword [esp + 0x3c], 0x50
call fcn.0041b900
test eax, eax
je 0x41ac0f
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x86b8]
mov ecx, 0x1000
lea edx, [esp + 0x3c]
sub ecx, eax
push edx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x20]
lea edx, [esp + eax + 0x698]
push ecx
push edx
push ebx
mov ecx, ebp
call fcn.0042ac80
test eax, eax
je 0x41b8e5
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, 0x1000
mov dword [esp + 0x18], 0
sub eax, esi
cmp ecx, eax
jne 0x41a68f
mov dword [esp + 0x18], 1
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
add esi, ecx
cmp eax, 0xffffffff
mov dword [esp + 0x10], esi
je 0x41a6b3
push 1
push ecx
mov ecx, dword [ebp + 4]
push eax
add ecx, 0x241e0
call fcn.00406430
mov ecx, dword [ebp + 4]
cmp dword [ecx + 0x275f4], 1
jne 0x41a7bb
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41a6e3
lea edx, [eax + eax*2]
mov eax, dword [ecx + 0x275c8]
shl edx, 6
mov ecx, dword [edx + eax + 0x44]
test ecx, ecx
je 0x41a7bb
lea ebx, [esp + 0x694]
push 0x14
push str.proxy_authorization:
push ebx
call fcn.00459d50
add esp, 0xc
test eax, eax
je 0x41a71b
push 0x48d240
push ebx
call fcn.00457ca0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x41b68b
add ebx, 2
jmp 0x41a6ea
test ebx, ebx
je 0x41b68b
push str.Basic
push ebx
call fcn.00457ca0
mov edx, eax
add esp, 8
test edx, edx
je 0x41b8e5
mov edi, str.Basic
or ecx, 0xffffffff
xor eax, eax
push 0x48d240
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
add esi, edx
push esi
call fcn.00457ca0
mov edi, eax
add esp, 8
test edi, edi
je 0x41b8e5
mov ecx, dword [esp + 0x86b8]
mov byte [edi], 0
push ecx
push esi
mov ecx, ebp
call fcn.00423f00
test eax, eax
je 0x41b68b
add edi, 2
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x86b8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x694]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41a83e
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*2]
shl eax, 6
mov edx, dword [ecx + 0x275c8]
mov esi, dword [eax + edx + 0x74]
cmp esi, 0xffffffff
je 0x41a83e
mov al, byte [0x493b50]
mov ecx, 0x400
mov byte [esp + 0x56a8], al
xor eax, eax
lea edi, [esp + 0x56a9]
lea edx, [esp + 0x46a4]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x56a8]
push ecx
push edx
push str._s:_d
push eax
call fcn.00457c43
mov eax, dword [esp + 0x24]
add esp, 0x10
lea ecx, [esp + 0x694]
lea edx, [esp + 0x56a8]
push ecx
push edx
push esi
push eax
mov ecx, ebp
call fcn.0042b340
test eax, eax
jne 0x41b8e5
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp + 4]
cmp eax, 0xffffffff
mov byte [esp + 0x269c], 0
je 0x41a882
mov edx, dword [edx + 0x275c8]
lea eax, [eax + eax*2]
shl eax, 6
add eax, edx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x26a4]
push str._s__s_Web
push ecx
call fcn.00457c43
add esp, 0x10
jmp 0x41a8d3
mov eax, dword [edx + 0x275fc]
test eax, eax
je 0x41a8b6
mov dl, byte [ebx + 0x28]
lea eax, [ebx + 0x28]
test dl, dl
je 0x41a8b6
push eax
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [esp + 0x26a4]
push str._s__s_Web
push eax
call fcn.00457c43
add esp, 0x10
jmp 0x41a8d3
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x26a0]
push str._s_unknown_Web
push ecx
call fcn.00457c43
add esp, 0xc
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0xa558]
test eax, eax
je 0x41a9fe
lea eax, [esp + 0x694]
push 0x48d1cc
push eax
call fcn.00457ca0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x41a9fe
or ecx, 0xffffffff
lea edi, [esp + 0x694]
xor eax, eax
mov byte [ebx], 0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x269c]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x269c]
and ecx, 3
push 0x48d240
rep movsb byte es:[edi], byte [esi]
mov edi, str._http:__
or ecx, 0xffffffff
mov byte [ebx], 0x20
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x26a4]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x46ac]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00457ca0
mov edx, eax
add esp, 8
test edx, edx
je 0x41a9e5
lea edi, [ebx + 1]
or ecx, 0xffffffff
xor eax, eax
mov byte [edx], 0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebx, [esp + 0x269c]
mov esi, edi
mov edi, ebx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [edx], 0xd
lea eax, [esp + 0x269c]
push 0x20
push eax
call fcn.004584c0
add esp, 8
test eax, eax
je 0x41a9fe
mov byte [eax], 0
lea ecx, [esp + 0x269c]
push ecx
call fcn.00430470
mov eax, dword [ebp + 4]
add esp, 4
mov dword [esp + 0x24], 1
mov ecx, dword [eax + 0x34c0]
test ecx, ecx
je 0x41aa45
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x41aa45
mov edx, dword [esp + 0x14]
add eax, 0x24bc
push eax
push edx
mov ecx, ebp
call fcn.0041c1a0
mov dword [esp + 0x34], 0
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x410c]
test ecx, ecx
je 0x41aa69
add eax, 0x4510
push 0x48e8f4
push eax
call fcn.0045c970
add esp, 8
test eax, eax
je 0x41aaa3
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x410c]
test ecx, ecx
jne 0x41ae3f
mov ecx, dword [eax + 0x5118]
test ecx, ecx
je 0x41ae3f
add eax, 0x652c
push 0x48e8f4
push eax
call fcn.0045c970
add esp, 8
test eax, eax
jne 0x41ae3f
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x698]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x46b0]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.0042b5f0
test eax, eax
je 0x41b8e5
mov ebx, dword [esp + 0x86b8]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x694]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b6d3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x41ac0f
mov esi, 0x1000
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x698]
push edx
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0x2c], esi
call fcn.0042ac80
test eax, eax
je 0x41b8e5
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 0
cmp eax, esi
jne 0x41ab4a
mov dword [esp + 0x18], 1
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41abe2
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [edx + eax + 0x74]
cmp eax, 0xffffffff
je 0x41abc4
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [edx + esi + 0x3040]
test eax, eax
je 0x41abc4
lea edi, [edx + esi + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41abc4
lea eax, [edx + esi + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x41b6e5
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 4]
push 1
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
mov esi, 0x1000
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x694]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41ab0c
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x41b63e
mov eax, ecx
mov ebx, dword [esp + 0x86b8]
cdq
and edx, 0xfff
mov dword [esp + 0x1c], 0
add eax, edx
sar eax, 0xc
test eax, eax
jle 0x41ad43
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push 8
lea edx, [esp + 0x698]
push ecx
push edx
push ebx
push eax
mov ecx, ebp
mov dword [esp + 0x24], 0x1000
call fcn.0041c300
test eax, eax
je 0x41b8e5
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41acff
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [edx + eax + 0x74]
cmp eax, 0xffffffff
je 0x41ace6
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [edx + esi + 0x3040]
test eax, eax
je 0x41ace6
lea edi, [edx + esi + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41ace6
lea eax, [edx + esi + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x41a2dc
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 4]
push 1
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x694]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
mov eax, ecx
inc esi
cdq
and edx, 0xfff
mov dword [esp + 0x1c], esi
add eax, edx
sar eax, 0xc
cmp esi, eax
jl 0x41ac40
mov eax, ecx
push 8
cdq
and edx, 0xfff
add eax, edx
lea edx, [esp + 0x698]
sar eax, 0xc
shl eax, 0xc
sub ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x14]
push ecx
push edx
push ebx
push eax
mov ecx, ebp
call fcn.0041c300
test eax, eax
je 0x41b8e5
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41ae11
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [edx + eax + 0x74]
cmp eax, 0xffffffff
je 0x41adf8
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [edx + esi + 0x3040]
test eax, eax
je 0x41adf8
lea edi, [edx + esi + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41adf8
lea eax, [edx + esi + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x41b779
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 4]
push 1
push edx
push eax
add ecx, 0x241e0
call fcn.00406430
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x694]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov dword [esp + 0x3c], 0
jmp 0x41b63e
lea edx, [esp + 0x36a0]
lea eax, [esp + 0x46a4]
push edx
push eax
call fcn.0045c970
mov edx, dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x41ae69
cmp edx, dword [esp + 0x28]
je 0x41aad3
lea edi, [esp + 0x46a4]
or ecx, 0xffffffff
xor eax, eax
lea ebx, [esp + 0x36a0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x28], edx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov ebx, dword [esp + 0x86b8]
mov ecx, dword [ebp + 4]
mov esi, eax
add ecx, 0x27600
push esi
push ebx
mov dword [esp + 0x28], esi
call fcn.00442570
mov edx, dword [esp + 0x28]
push 0
lea eax, [esp + 0x36a4]
push edx
push eax
push ebx
push esi
mov ecx, ebp
call fcn.00425b50
test eax, eax
je 0x41b8e5
jmp 0x41aada
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x41b63e
lea ecx, [esp + 0x58]
mov edx, eax
push ecx
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x41b63e
mov edx, dword [esp + 0x86b8]
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x698]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
mov ecx, ebp
mov dword [esp + 0x24], 0x1000
mov byte [esp + 0x6a8], 0
call fcn.0041c300
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x41b036
test eax, eax
jne 0x41af8b
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x34c0]
test ecx, ecx
je 0x41af8b
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x41af8b
mov ecx, dword [esp + 0x14]
add eax, 0x24bc
push eax
push ecx
mov ecx, ebp
call fcn.0041c1a0
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [esp + 0x86b8]
mov ecx, dword [ebp + 4]
push 0xffffffffffffffff
push eax
add ecx, 0x27600
mov dword [esp + 0x28], 0xffffffff
call fcn.00442570
mov edi, 0x493b50
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x36a0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x15c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
mov dword [esp + 0x28], eax
rep movsb byte es:[edi], byte [esi]
mov ecx, 1
mov esi, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x15c], ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], eax
push ecx
push eax
push eax
push edx
push 0xffffffffffffffff
mov dword [esp + 0x174], esi
call dword [sym.imp.WS2_32.dll_select]
lea eax, [esp + 0x15c]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x41b809
jmp 0x41b63e
test eax, eax
jle 0x41b63e
mov ecx, dword [esp + 0x86b8]
mov eax, dword [ecx + 0x24]
cmp eax, 0xffffffff
je 0x41b0bb
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*2]
shl edx, 6
mov eax, dword [ecx + 0x275c8]
mov eax, dword [edx + eax + 0x74]
cmp eax, 0xffffffff
je 0x41b0bb
mov esi, dword [ecx + 0x275e8]
mov ecx, eax
shl ecx, 8
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [ecx + ecx*2]
lea edx, [eax + edx*2]
shl edx, 2
mov eax, dword [esi + edx + 0x3040]
test eax, eax
je 0x41b0bb
lea edi, [esi + edx + 0x1038]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41b0bb
lea eax, [esi + edx + 0x1038]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00426310
test eax, eax
jne 0x41a274
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0x34c0]
test eax, eax
je 0x41b0e8
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x41b0e8
lea eax, [esp + 0x10]
lea ecx, [esp + 0x694]
push eax
push ecx
mov ecx, ebp
call fcn.00429610
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x86b8]
mov eax, dword [edx + 0x24]
cmp eax, 0xffffffff
je 0x41b10d
mov ecx, dword [esp + 0x10]
push 0
push ecx
mov ecx, dword [ebp + 4]
push eax
add ecx, 0x241e0
call fcn.00406430
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x694]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b835
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0xa578]
test eax, eax
je 0x41b63e
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41b63e
lea eax, [esp + 0x694]
push str._title_
push eax
call fcn.00457ca0
mov esi, eax
add esp, 8
test esi, esi
jne 0x41b185
lea ecx, [esp + 0x694]
push str._TITLE_
push ecx
call fcn.00457ca0
mov esi, eax
add esp, 8
test esi, esi
je 0x41b63e
lea edi, [esp + 0x269c]
or ecx, 0xffffffff
xor eax, eax
mov edx, 0x1001
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x269c]
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
push 0x48d1cc
lea eax, [esp + ecx + 0x26a4]
push eax
call fcn.00458800
lea edi, [esp + 0x26a8]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x36a8], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x26a8]
mov edx, 0x1001
lea ebx, [esp + ecx + 0x26a8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, str._title_
sub edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
add ecx, esi
lea edi, [esp + 0x26ac]
push ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + ecx + 0x26b0]
push eax
call fcn.00458800
push 0x48e8d0
push ebx
mov byte [esp + 0x36bc], 0
call fcn.00457ca0
add esp, 0x20
test eax, eax
je 0x41b23f
mov byte [eax], 0
cmp byte [ebx], 0
je 0x41b359
mov al, byte [0x48d1cc]
test al, al
je 0x41b359
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48d1cc
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, edx
ja 0x41b359
cmp byte [ebx], 0
je 0x41b359
mov edi, 0x48d1cc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
push 0x48d1cc
call fcn.00458090
add esp, 0xc
test eax, eax
jne 0x41b2df
mov edi, 0x48d1cc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 1
sub edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48d1cc
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push edx
add ecx, ebx
push ecx
push ebx
call fcn.00457d50
add esp, 0xc
jmp 0x41b278
cmp byte [ebx], 0
je 0x41b359
mov edi, 0x48d1cc
or ecx, 0xffffffff
xor eax, eax
mov esi, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebx
sub esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48d1cc
add esi, ecx
mov cl, byte [edi]
mov dl, byte [esi]
mov al, cl
cmp cl, dl
jne 0x41b330
test al, al
je 0x41b32c
mov dl, byte [edi + 1]
mov cl, byte [esi + 1]
mov al, dl
cmp dl, cl
jne 0x41b330
add edi, 2
add esi, 2
test al, al
jne 0x41b308
xor eax, eax
jmp 0x41b335
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41b359
mov edi, 0x48d1cc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ebx
sub edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [edx + ecx], al
jmp 0x41b2df
mov al, byte [0x493b50]
mov ecx, 0x400
mov byte [esp + 0x66ac], al
xor eax, eax
lea edi, [esp + 0x66ad]
mov dword [esp + 0x1c], ebx
rep stosd dword es:[edi], eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], eax
cmp ecx, 0x1000
jbe 0x41b3b4
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ecx, [ecx + ecx + 1]
push ecx
call fcn.0046e679
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 1
jmp 0x41b3bf
lea eax, [esp + 0x66ac]
mov dword [esp + 0x18], eax
mov byte [eax], 0
mov edx, dword [esp + 0x1c]
push 0x48d170
push edx
call fcn.00457ca0
add esp, 8
test eax, eax
je 0x41b45e
mov edi, dword [esp + 0x1c]
mov byte [eax], 0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x493b50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48d170
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, edx
add ecx, esi
mov dword [esp + 0x1c], ecx
jmp 0x41b3c2
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x24]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x41b4bd
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0046e6a2
add esp, 4
mov dl, byte [0x493b50]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x76b1]
mov byte [esp + 0x76b0], dl
mov dword [esp + 0x1c], ebx
rep stosd dword es:[edi], eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], eax
cmp ecx, 0x1000
jbe 0x41b519
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ecx + ecx + 1]
push eax
call fcn.0046e679
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 1
jmp 0x41b524
lea ecx, [esp + 0x76b0]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov byte [edx], 0
mov eax, dword [esp + 0x1c]
push 0x48d168
push eax
call fcn.00457ca0
add esp, 8
test eax, eax
je 0x41b5c7
mov edi, dword [esp + 0x1c]
mov byte [eax], 0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x493b50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x48d168
mov esi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, edx
add ecx, esi
mov dword [esp + 0x1c], ecx
jmp 0x41b52b
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x24]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x41b626
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0046e6a2
add esp, 4
lea edx, [esp + 0x269c]
push edx
call fcn.00430470
add esp, 4
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x86b8]
cmp dword [eax + 0x1c], 2
je 0x41a3fb
pop edi
pop esi
pop ebp
mov eax, 0x10
pop ebx
add esp, 0x86a4
ret 4
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [esp + 0x10]
pop edi
neg eax
sbb eax, eax
pop esi
pop ebp
and eax, 0xe
pop ebx
add esp, 0x86a4
ret 4
mov cl, byte [0x493b50]
mov edx, dword [ebp + 4]
mov byte [esp + 0x56a8], cl
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x56a9]
add edx, 0x14b0
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x56ac]
push str.HTTP_1.0_407_Unauthorized_r_nServer:_CCProxy_r_nProxy_Authenticate:_Basic_realm__s__r_nCache_control:_no_cache_r_n_r_n
push eax
call fcn.00457c43
add esp, 0xc
lea ecx, [esp + 0x56a8]
jmp 0x4198e2
pop edi
pop esi
pop ebp
mov eax, 0xf
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20b4]
test edx, edx
jne 0x41b81b
add eax, 0x1cb4
lea edx, [esp + 0x694]
push eax
push 0x48d48c
push edx
call fcn.00457c43
lea edi, [esp + 0x6a0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x694]
mov dword [esp + 0x1c], ecx
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x14]
not ecx
dec ecx
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20b4]
test edx, edx
jne 0x41b7dd
add eax, 0x1cb4
lea ecx, [esp + 0x694]
push eax
push 0x48d48c
push ecx
call fcn.00457c43
lea edi, [esp + 0x6a0]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x694]
not ecx
dec ecx
push ecx
mov dword [esp + 0x14], ecx
push edx
push eax
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x18]
push edx
push ecx
mov ecx, ebp
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
pop edi
pop esi
pop ebp
mov eax, 0xd
pop ebx
add esp, 0x86a4
ret 4
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
mov edx, dword [esp + 0x1c]
mov ecx, ebp
push edx
call fcn.0041c1d0
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
add esp, 0x86a4
ret 4
cmp esi, 5
jne 0x41b8c2
mov eax, dword [esp + 0x28]
push 0
lea ecx, [esp + 0x36a4]
push eax
push ecx
push ebx
push edi
mov ecx, ebp
call fcn.00425b50
test eax, eax
je 0x41b8e5
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x694]
push edx
push eax
push edi
mov ecx, ebp
call fcn.0041c1d0
test eax, eax
je 0x41b8e5
mov eax, dword [ebx + 0x24]
cmp eax, 0xffffffff
je 0x41b89f
mov ecx, dword [esp + 0x10]
push 1
push ecx
mov ecx, dword [ebp + 4]
push eax
add ecx, 0x241e0
call fcn.00406430
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x36a0]
push edx
push edi
push eax
push ebx
mov ecx, ebp
call fcn.004273e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x86a4
ret 4
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ebx
lea edx, [esp + 0x36a4]
push ecx
push edx
lea ecx, [esp + 0x6a0]
push eax
push ecx
push esi
mov ecx, ebp
call fcn.004256e0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x86a4
ret 4