Function at 0x4260d0
Capabilities:
Get socket status

Disassembly:
sub esp, 0x230
push ebx
push ebp
mov ebp, dword [esp + 0x23c]
test byte [ebp + 0x7e4], 1
mov ebx, dword [ebp + 0x3d0]
push esi
mov esi, dword [ebp + 0x3cc]
push edi
mov edi, dword [ebp]
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], ebx
je 0x426136
test esi, esi
jne 0x426136
mov eax, dword [ebp + 0x318]
push 0x48f7a0
push 0
lea esi, [esp + 0x40]
push 0
mov ecx, esi
mov dword [esp + 0x48], eax
push ecx
inc eax
push eax
mov dword [esp + 0x4c], 1
call sub.WS2_32.dll_select
test byte [ebp + 0x7e4], 2
je 0x426177
test ebx, ebx
jne 0x426177
mov eax, dword [ebp + 0x324]
push 0x48f7a0
lea edx, [esp + 0x140]
push ebx
mov ecx, edx
push ecx
mov dword [esp + 0x14c], eax
push ebx
inc eax
push eax
mov dword [esp + 0x150], 1
mov dword [esp + 0x38], edx
call sub.WS2_32.dll_select
test byte [ebp + 0x7e4], 1
je 0x426e9d
mov edx, dword [ebp + 0x318]
push esi
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x426e9d
mov eax, dword [edi + 0x134]
test eax, eax
jne 0x4261a8
mov eax, 0x3fff
mov edx, dword [ebp + 0x3c0]
lea ecx, [esp + 0x10]
push ecx
push eax
mov eax, dword [ebp + 0x318]
push edx
push eax
push ebp
call fcn.0042a6b0
add esp, 0x14
test eax, eax
mov dword [esp + 0x28], eax
jl 0x426e9d
jg 0x42771d
mov eax, dword [ebp + 0x358]
test eax, eax
jne 0x426211
mov eax, dword [ebp + 0x35c]
test eax, eax
jne 0x426211
push 4
push edi
call fcn.0042b1c0
mov al, byte [ebp + 0x3b1]
add esp, 8
test al, al
je 0x426211
call fcn.0042b000
mov dword [ebp + 0x3a8], eax
mov dword [ebp + 0x3ac], edx
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x1c], 1
jle 0x426e8c
mov ecx, dword [ebp + 0x3c0]
mov byte [eax + ecx], 0
mov al, byte [ebp + 0x374]
test al, al
mov edx, dword [ebp + 0x3c0]
mov dword [ebp + 0x388], edx
je 0x426cce
mov byte [esp + 0x1a], 0
mov edi, edi
mov eax, dword [ebp + 0x388]
push 0xa
push eax
mov dword [ebp + 0x38c], eax
call fcn.00453f80
add esp, 8
test eax, eax
mov dword [ebp + 0x390], eax
je 0x426d39
mov ebx, dword [ebp + 0x388]
mov ecx, dword [esp + 0x10]
mov esi, eax
sub esi, ebx
mov ebx, dword [ebp + 0x38c]
inc esi
sub ecx, esi
inc eax
mov dword [ebp + 0x388], eax
sub eax, ebx
mov ebx, eax
mov eax, dword [ebp + 0x384]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0x290]
add eax, ebx
cmp eax, ecx
mov dword [esp + 0x30], ebx
jl 0x426307
lea eax, [eax + eax*2]
cdq
sub eax, edx
sar eax, 1
add ecx, ecx
cmp eax, ecx
mov dword [esp + 0x2c], eax
jg 0x4262c7
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0x28c]
mov ebx, dword [ebp + 0x380]
push ecx
push eax
sub ebx, eax
call fcn.004507c9
add esp, 8
test eax, eax
je 0x4271c6
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x28c], eax
add eax, ebx
mov ebx, dword [esp + 0x30]
mov dword [edi + 0x290], edx
mov dword [ebp + 0x380], eax
mov eax, dword [ebp + 0x38c]
mov ecx, dword [ebp + 0x380]
push ebx
push eax
push ecx
call fcn.00450080
mov edx, dword [ebp + 0x380]
mov ecx, dword [ebp + 0x384]
add edx, ebx
mov eax, edx
add ecx, ebx
mov dword [ebp + 0x380], edx
mov dword [ebp + 0x384], ecx
mov byte [eax], 0
mov edx, dword [ebp + 0x380]
mov dword [ebp + 0x390], edx
mov eax, dword [edi + 0x28c]
mov dword [ebp + 0x394], eax
mov eax, dword [ebp + 0x37c]
add esp, 0xc
test eax, eax
jne 0x42637f
cmp dword [ebp + 0x384], 5
jle 0x42637f
mov ebx, dword [edi + 0x28c]
mov eax, edi
call fcn.00426070
test al, al
je 0x426e17
mov eax, dword [ebp + 0x394]
mov cl, byte [eax]
cmp cl, 0xa
je 0x426b93
cmp cl, 0xd
je 0x426b98
mov ecx, dword [ebp + 0x37c]
test ecx, ecx
lea edx, [ecx + 1]
mov dword [ebp + 0x37c], edx
jne 0x426492
lea ebx, [ebp + 0x3a0]
push ebx
lea esi, [ebp + 0x3a4]
push esi
lea ecx, [esp + 0x3c]
push ecx
push str._HTTP__d._d__3d
push eax
call fcn.004532fc
add esp, 0x14
cmp eax, 3
jne 0x4263e7
mov eax, dword [esp + 0x34]
lea edx, [eax + eax*4]
mov eax, dword [esi]
shl edx, 1
add eax, edx
mov dword [esi], eax
jmp 0x426438
mov eax, dword [ebp + 0x394]
push ebx
push str._HTTP__3d
push eax
call fcn.004532fc
add esp, 0xc
test eax, eax
mov dword [esi], 0xa
jne 0x426438
mov ebx, dword [ebp + 0x394]
mov eax, edi
call fcn.00426070
test al, al
je 0x426e48
mov dword [ebp + 0x3a0], 0xc8
mov edx, dword [edi + 0xf0]
xor ecx, ecx
cmp edx, 1
setne cl
add ecx, 0xa
mov dword [esi], ecx
mov edx, dword [ebp + 0x3a0]
mov dword [edi + 0x82d0], edx
mov eax, dword [esi]
mov dword [edi + 0x82d4], eax
mov al, byte [edi + 0x147]
test al, al
je 0x426466
cmp dword [ebp + 0x3a0], 0x190
jge 0x4271e4
cmp dword [esi], 0xa
jne 0x426472
mov byte [ebp + 0x2f0], 1
mov eax, dword [ebp + 0x3a0]
sub eax, 0xcc
je 0x426484
sub eax, 0x64
jne 0x426492
xor eax, eax
mov dword [ebp + 0x31c], eax
mov dword [ebp + 0x2b8], eax
mov ecx, dword [ebp + 0x394]
push 0xf
push ecx
push str.Content_Length:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x4264ec
mov edx, dword [ebp + 0x394]
lea esi, [ebp + 0x360]
push esi
add edx, 0xf
push str.__ld
push edx
call fcn.004532fc
add esp, 0xc
test eax, eax
je 0x4264ec
mov eax, dword [esi]
mov dword [ebp + 0x31c], eax
fild dword [esi]
sub esp, 8
fstp qword [esp]
push edi
call fcn.0042b370
add esp, 0xc
jmp 0x426aff
mov ecx, dword [ebp + 0x394]
push 0xd
push ecx
push str.Content_Type:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x4265dd
mov esi, dword [ebp + 0x394]
mov al, byte [esi + 0xd]
add esi, 0xd
test al, al
je 0x426538
lea ebx, [ebx]
movsx edx, al
push edx
call fcn.00453c50
add esp, 4
test eax, eax
je 0x426538
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x426520
push 0xd
push esi
call fcn.00453f80
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x42655e
push 0xa
push esi
call fcn.00453f80
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x426aff
movsx eax, byte [ebx]
push eax
call fcn.00453c50
add esp, 4
test eax, eax
je 0x426586
mov edi, edi
cmp ebx, esi
jbe 0x426586
movsx ecx, byte [ebx - 1]
dec ebx
push ecx
call fcn.00453c50
add esp, 4
test eax, eax
jne 0x426570
mov eax, dword [edi + 0x82e4]
sub ebx, esi
inc ebx
test eax, eax
je 0x42659c
push eax
call fcn.00450572
add esp, 4
lea edx, [ebx + 1]
push edx
call fcn.004504af
add esp, 4
test eax, eax
mov dword [edi + 0x82e4], eax
je 0x42752a
mov ecx, ebx
mov edi, eax
mov eax, ecx
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 + 0x14]
mov edx, dword [ecx + 0x82e4]
mov byte [ebx + edx], 0
mov edi, ecx
jmp 0x426aff
mov eax, dword [ebp + 0x3a4]
mov esi, 0xa
cmp eax, esi
jne 0x426670
mov al, byte [ebp + 0x2f3]
test al, al
je 0x426631
mov eax, dword [ebp + 0x394]
push str.keep_alive
push str.Proxy_Connection:
push eax
call fcn.0042fba0
add esp, 0xc
test al, al
je 0x426631
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
mov byte [ebp + 0x2f0], 0
call fcn.0042a770
add esp, 8
jmp 0x426aff
cmp dword [ebp + 0x3a4], esi
jne 0x426670
mov ecx, dword [ebp + 0x394]
push str.keep_alive
push str.Connection:
push ecx
call fcn.0042fba0
add esp, 0xc
test al, al
je 0x426670
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
mov byte [ebp + 0x2f0], 0
call fcn.0042a770
add esp, 8
jmp 0x426aff
mov edx, dword [ebp + 0x394]
push str.close
push str.Connection:
push edx
call fcn.0042fba0
add esp, 0xc
test al, al
je 0x426699
mov byte [ebp + 0x2f0], 1
jmp 0x426aff
mov eax, dword [ebp + 0x394]
push str.chunked
push str.Transfer_Encoding:
push eax
call fcn.0042fba0
add esp, 0xc
test al, al
je 0x4266c8
push ebp
mov byte [ebp + 0x2f2], 1
call fcn.004316b0
jmp 0x426afc
mov ecx, dword [ebp + 0x394]
push 0x11
push ecx
push str.Content_Encoding:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x4267d1
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4267d1
mov esi, dword [ebp + 0x394]
mov al, byte [esi + 0x11]
add esi, 0x11
test al, al
je 0x426719
movsx edx, al
push edx
call fcn.00453c50
add esp, 4
test eax, eax
je 0x426719
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x426701
push 8
push esi
push str.identity
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x42673c
mov dword [ebp + 0x3b4], 0
jmp 0x426aff
push 7
push esi
push str.deflate
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x42675f
mov dword [ebp + 0x3b4], 1
jmp 0x426aff
push 4
push esi
push str.gzip
call fcn.0042b980
add esp, 0xc
test eax, eax
jne 0x4267c2
push 6
push esi
push str.x_gzip
call fcn.0042b980
add esp, 0xc
test eax, eax
jne 0x4267c2
push 8
push esi
push str.compress
call fcn.0042b980
add esp, 0xc
test eax, eax
jne 0x4267b3
push 0xa
push esi
push str.x_compress
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x426aff
mov dword [ebp + 0x3b4], 3
jmp 0x426aff
mov dword [ebp + 0x3b4], 2
jmp 0x426aff
mov eax, dword [ebp + 0x394]
push 0xe
push eax
push str.Content_Range:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x426847
mov ecx, dword [ebp + 0x394]
lea esi, [ebp + 0x39c]
push esi
add ecx, 0xe
push str._bytes__d_
push ecx
call fcn.004532fc
add esp, 0xc
test eax, eax
jne 0x42682d
mov edx, dword [ebp + 0x394]
push esi
add edx, 0xe
push str._bytes:__d_
push edx
call fcn.004532fc
add esp, 0xc
test eax, eax
je 0x426aff
mov eax, dword [ebp + 0x288]
cmp eax, dword [esi]
jne 0x426aff
mov byte [ebp + 0x398], 1
jmp 0x426aff
mov eax, dword [edi + 0x17c]
test eax, eax
je 0x4268a3
mov ecx, dword [ebp + 0x394]
push 0xb
push ecx
push str.Set_Cookie:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x4268a3
mov eax, dword [ebp + 0x34c]
test eax, eax
jne 0x42687b
mov eax, dword [ebp + 0x264]
mov edx, dword [ebp + 0x278]
mov ecx, dword [edi + 0x17c]
push edx
push eax
mov eax, dword [ebp + 0x394]
add eax, 0xb
push eax
push 1
push ecx
call fcn.00428450
add esp, 0x14
jmp 0x426aff
mov edx, dword [ebp + 0x394]
push 0xe
push edx
push str.Last_Modified:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x426912
mov eax, dword [edi + 0xdc]
test eax, eax
jne 0x4268d1
mov al, byte [edi + 0x140]
test al, al
je 0x426912
push 0
call fcn.0046375c
mov ecx, dword [ebp + 0x394]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
add ecx, 0xe
push ecx
call fcn.004327f0
mov dword [ebp + 0x3b8], eax
mov cl, byte [edi + 0x140]
add esp, 0xc
test cl, cl
je 0x426aff
mov dword [edi + 0x82d8], eax
jmp 0x426aff
mov edx, dword [ebp + 0x394]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x426a53
mov eax, dword [ebp + 0x3a0]
mov esi, 0x191
cmp eax, esi
jne 0x426a53
mov ebx, dword [ebp + 0x394]
mov al, byte [ebx + 0x11]
add ebx, 0x11
test al, al
je 0x42696b
movsx eax, al
push eax
call fcn.00453c50
add esp, 4
test eax, eax
je 0x42696b
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x426953
push 6
push ebx
push str.Digest
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x4269f7
mov eax, dword [edi + 0x82c8]
cmp eax, 2
jne 0x4269d1
mov eax, dword [edi + 0x82b8]
test eax, eax
je 0x4269a7
push str.Authentication_problem._Ignoring_this._n
push edi
call fcn.0042a770
add esp, 8
jmp 0x426aff
push ebx
push ebp
call fcn.004313e0
add esp, 8
cmp eax, 2
jne 0x426aff
mov ecx, dword [edi + 0x160]
push ecx
call fcn.0045605e
mov dword [ebp + 0x350], eax
jmp 0x426afc
test al, 2
je 0x426aff
push ebx
push ebp
call fcn.004313e0
mov eax, dword [edi + 0x82cc]
add esp, 8
or eax, 2
mov dword [edi + 0x82cc], eax
jmp 0x426aff
push 5
push ebx
push str.Basic
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x426aff
mov eax, dword [edi + 0x82c8]
cmp eax, 1
jne 0x426a3f
cmp dword [ebp + 0x3a0], esi
jne 0x426a3f
push str.Authentication_problem._Ignoring_this._n
push edi
mov dword [edi + 0x82cc], 0
call fcn.0042a770
add esp, 8
jmp 0x426aff
test al, 1
je 0x426aff
or dword [edi + 0x82cc], 1
jmp 0x426aff
mov eax, dword [ebp + 0x3a0]
cmp eax, 0x12c
jl 0x426aff
cmp eax, 0x190
jge 0x426aff
mov edx, dword [ebp + 0x394]
push 9
push edx
push str.Location:
call fcn.0042b980
add esp, 0xc
test eax, eax
je 0x426aff
mov al, byte [edi + 0x148]
test al, al
je 0x426aff
mov esi, dword [ebp + 0x394]
mov al, byte [esi + 9]
add esi, 9
test al, al
je 0x426abb
movsx eax, al
push eax
call fcn.00453c50
add esp, 4
test eax, eax
je 0x426abb
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x426aa3
mov ebx, dword [ebp + 0x390]
dec ebx
cmp ebx, esi
jb 0x426adb
movsx ecx, byte [ebx]
push ecx
call fcn.00453c50
add esp, 4
test eax, eax
je 0x426adb
dec ebx
cmp ebx, esi
jae 0x426ac6
mov dl, byte [ebx + 1]
inc ebx
cmp ebx, esi
mov byte [esp + 0x1b], dl
je 0x426aff
push esi
mov byte [ebx], 0
call fcn.0045605e
mov dword [ebp + 0x350], eax
mov al, byte [esp + 0x1f]
mov byte [ebx], al
add esp, 4
mov al, byte [edi + 0x14a]
test al, al
mov esi, 2
je 0x426b13
mov esi, 3
mov al, byte [edi + 0x154]
test al, al
je 0x426b36
mov ecx, dword [ebp + 0x384]
mov edx, dword [ebp + 0x394]
push ecx
push edx
push 1
push edi
call fcn.0042a700
add esp, 0x10
mov eax, dword [ebp + 0x384]
mov ecx, dword [ebp + 0x394]
push eax
push ecx
push esi
push edi
call fcn.0042a9d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x28], eax
jne 0x42771d
mov esi, dword [edi + 0x82dc]
mov edx, dword [ebp + 0x384]
add esi, edx
mov dword [edi + 0x82dc], esi
mov ecx, dword [ebp + 0x280]
mov eax, dword [ebp + 0x384]
add ecx, eax
mov dword [ebp + 0x280], ecx
mov ecx, dword [edi + 0x28c]
mov dword [ebp + 0x380], ecx
jmp 0x426cb5
cmp cl, 0xd
jne 0x426b9f
inc eax
mov dword [ebp + 0x394], eax
mov eax, dword [ebp + 0x394]
cmp byte [eax], 0xa
jne 0x426bb1
inc eax
mov dword [ebp + 0x394], eax
cmp dword [ebp + 0x3a0], 0x64
jne 0x426c1a
mov al, byte [ebp + 0x3b0]
test al, al
mov byte [ebp + 0x374], 1
mov dword [ebp + 0x37c], 0
je 0x426c21
mov eax, dword [ebp + 0x4d8]
cmp eax, 0x40
lea esi, [ebp + 0x4d8]
mov byte [ebp + 0x3b0], 0
jae 0x426bfc
mov edx, dword [ebp + 0x324]
mov dword [ebp + eax*4 + 0x4dc], edx
inc dword [esi]
mov eax, dword [ebp + 0x7e4]
or eax, 2
lea edi, [ebp + 0x6e0]
mov ecx, 0x41
mov dword [ebp + 0x7e4], eax
rep movsd dword es:[edi], dword [esi]
jmp 0x426c21
mov byte [ebp + 0x374], 0
cmp dword [ebp + 0x3a0], 0x1a1
jne 0x426c4d
mov eax, dword [ebp + 0x7e4]
and eax, 0xfffffffd
mov byte [ebp + 0x3b0], 0
mov dword [ebp + 0x7e4], eax
mov dword [ebp + 0x6e0], 0
mov esi, dword [esp + 0x14]
mov al, byte [esi + 0x14a]
test al, al
mov ecx, 2
je 0x426c65
mov ecx, 3
mov eax, dword [esi + 0x28c]
mov edi, dword [ebp + 0x394]
sub edi, eax
push edi
push eax
push ecx
push esi
call fcn.0042a9d0
add esp, 0x10
test eax, eax
mov dword [esp + 0x28], eax
jne 0x42771d
add dword [esi + 0x82dc], edi
add dword [ebp + 0x280], edi
mov al, byte [ebp + 0x374]
test al, al
je 0x426e54
mov eax, dword [esi + 0x28c]
mov edi, dword [esp + 0x14]
mov dword [ebp + 0x380], eax
mov ecx, dword [ebp + 0x388]
mov dword [ebp + 0x384], 0
cmp byte [ecx], 0
jne 0x426250
mov eax, dword [ebp + 0x388]
test eax, eax
je 0x426e9d
mov al, byte [ebp + 0x374]
test al, al
jne 0x426e9d
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x426e9d
mov eax, dword [ebp + 0x3bc]
xor ecx, ecx
cmp eax, ecx
jne 0x427019
test byte [ebp + 8], 4
je 0x427019
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x82cc]
cmp eax, ecx
je 0x426f4e
test al, 4
je 0x426ef3
mov dword [esi + 0x82c8], 4
jmp 0x426f29
mov edx, dword [ebp + 0x384]
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x290]
add eax, edx
cmp eax, ecx
jl 0x426d94
lea eax, [eax + eax*2]
cdq
sub eax, edx
sar eax, 1
lea ebx, [ecx + ecx]
cmp eax, ebx
jle 0x426d60
mov ebx, eax
mov eax, dword [edi + 0x28c]
mov esi, dword [ebp + 0x380]
push ebx
push eax
sub esi, eax
call fcn.004507c9
add esp, 8
test eax, eax
je 0x4271c6
mov dword [edi + 0x28c], eax
add eax, esi
mov dword [edi + 0x290], ebx
mov dword [ebp + 0x380], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x380]
mov esi, dword [ebp + 0x388]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x10]
mov esi, dword [ebp + 0x380]
mov edx, dword [ebp + 0x384]
mov ecx, dword [ebp + 0x37c]
add esi, eax
add edx, eax
test ecx, ecx
mov dword [ebp + 0x380], esi
mov dword [ebp + 0x384], edx
mov eax, edx
jne 0x426cce
cmp eax, 5
jle 0x426cce
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x28c]
call fcn.00426070
test al, al
jne 0x426cce
mov byte [ebp + 0x374], al
mov dword [ebp + 0x378], 2
jmp 0x426cce
mov eax, dword [esp + 0x10]
test eax, eax
mov byte [ebp + 0x374], 0
je 0x426e35
mov dword [ebp + 0x378], 1
jmp 0x426cce
mov dword [ebp + 0x378], 2
mov dword [esp + 0x10], esi
jmp 0x426cce
mov byte [ebp + 0x374], 0
jmp 0x426cce
mov al, byte [esi + 0x14d]
test al, al
je 0x426e65
mov byte [esp + 0x1a], 1
jmp 0x426e76
mov eax, dword [ebp + 0x31c]
cmp eax, 0xffffffff
je 0x426e76
mov dword [ebp + 0x2b8], eax
mov eax, dword [ebp + 0x2b8]
test eax, eax
je 0x426e8c
mov al, byte [esp + 0x1a]
test al, al
je 0x426cce
and dword [ebp + 0x7e4], 0xfffffffe
mov dword [ebp + 0x5dc], 0
test byte [ebp + 0x7e4], 2
je 0x42745d
mov edx, dword [esp + 0x24]
mov eax, dword [ebp + 0x324]
push edx
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42745d
mov eax, dword [ebp + 0x358]
test eax, eax
jne 0x427295
mov eax, dword [ebp + 0x35c]
test eax, eax
jne 0x427295
mov esi, dword [esp + 0x14]
push 4
push esi
call fcn.0042b1c0
add esp, 8
jmp 0x427299
test al, 2
je 0x426f03
mov dword [esi + 0x82c8], 2
jmp 0x426f29
test al, 8
je 0x426f13
mov dword [esi + 0x82c8], 8
jmp 0x426f29
test al, 1
je 0x426f23
mov dword [esi + 0x82c8], 1
jmp 0x426f29
mov dword [esi + 0x82c8], ecx
cmp dword [esi + 0x82c8], ecx
je 0x426f46
mov eax, dword [esi + 0x160]
push eax
call fcn.0045605e
add esp, 4
mov dword [ebp + 0x350], eax
xor ecx, ecx
mov dword [esi + 0x82cc], ecx
cmp dword [ebp + 0x350], ecx
je 0x426f79
mov al, byte [ebp + 0x2f0]
test al, al
jne 0x427209
push str.Ignoring_the_response_body_n
push esi
mov byte [ebp + 0x7e9], 1
call fcn.0042a770
add esp, 8
mov eax, dword [ebp + 0x288]
test eax, eax
je 0x426f9a
mov al, byte [ebp + 0x398]
test al, al
jne 0x426f9a
cmp dword [esi + 0xe8], 1
je 0x427235
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x42701d
mov ecx, dword [ebp + 0x284]
test ecx, ecx
jne 0x42701d
mov edx, dword [ebp + 0x3b8]
test edx, edx
jle 0x42701d
mov ecx, dword [esi + 0xe0]
test ecx, ecx
jle 0x42701d
sub eax, 2
je 0x426ff0
cmp edx, ecx
jge 0x42701d
push str.The_requested_document_is_not_new_enough_n
push esi
call fcn.0042a770
mov eax, dword [esp + 0x250]
add esp, 8
pop edi
pop esi
pop ebp
mov byte [eax], 1
xor eax, eax
pop ebx
add esp, 0x230
ret
cmp edx, ecx
jle 0x42701d
push str.The_requested_document_is_not_old_enough_n
push esi
call fcn.0042a770
mov ecx, dword [esp + 0x250]
add esp, 8
pop edi
pop esi
pop ebp
mov byte [ecx], 1
xor eax, eax
pop ebx
add esp, 0x230
ret
mov esi, dword [esp + 0x14]
inc dword [ebp + 0x3bc]
mov al, byte [esi + 0x154]
test al, al
je 0x427080
mov eax, dword [ebp + 0x378]
test eax, eax
je 0x427069
mov ecx, dword [ebp + 0x384]
mov edx, dword [esi + 0x28c]
push ecx
push edx
push 3
push esi
call fcn.0042a700
mov eax, dword [ebp + 0x378]
add esp, 0x10
cmp eax, 1
jne 0x427080
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x388]
push eax
push ecx
jmp 0x427075
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x388]
push edx
push eax
push 3
push esi
call fcn.0042a700
add esp, 0x10
mov al, byte [ebp + 0x2f2]
test al, al
mov edi, 0xfffffffe
je 0x4270c6
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x388]
lea ecx, [esp + 0x10]
push ecx
push edx
push eax
push ebp
call fcn.004316d0
xor edx, edx
add esp, 0x10
cmp eax, edx
jg 0x427253
cmp eax, 0xffffffff
jne 0x4270c8
and dword [ebp + 0x7e4], edi
mov dword [ebp + 0x5dc], edx
jmp 0x4270c8
xor edx, edx
mov eax, dword [ebp + 0x2b8]
cmp eax, 0xffffffff
je 0x4270fb
mov ecx, dword [ebp + 0x358]
mov ebx, dword [esp + 0x10]
add ebx, ecx
cmp ebx, eax
jl 0x4270fb
sub eax, ecx
mov dword [esp + 0x10], eax
jns 0x4270ef
mov dword [esp + 0x10], edx
and dword [ebp + 0x7e4], edi
mov dword [ebp + 0x5dc], edx
mov ebx, dword [ebp + 0x358]
mov ecx, dword [esp + 0x10]
add ebx, ecx
mov edx, ebx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
sub esp, 8
mov dword [ebp + 0x358], ebx
fstp qword [esp]
push esi
call fcn.0042b350
mov al, byte [ebp + 0x2f2]
add esp, 0xc
test al, al
jne 0x426e9d
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x42714a
mov eax, dword [ebp + 0x378]
test eax, eax
je 0x426e9d
mov eax, dword [ebp + 0x378]
test eax, eax
je 0x42717d
mov al, byte [ebp + 0x7e9]
test al, al
jne 0x42717d
mov eax, dword [ebp + 0x384]
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x28c]
push eax
push ecx
push 1
push esi
call fcn.0042a9d0
add esp, 0x10
jmp 0x427185
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp dword [ebp + 0x378], 2
jge 0x4271af
mov cl, byte [ebp + 0x7e9]
test cl, cl
jne 0x4271af
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0x388]
push edx
push eax
push 1
push esi
call fcn.0042a9d0
add esp, 0x10
test eax, eax
mov dword [ebp + 0x378], 0
jne 0x42771d
jmp 0x426e9d
push str.Failed_to_alloc_memory_for_big_header_
push edi
call fcn.0042a840
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x230
ret
mov ecx, dword [ebp + 0x3a0]
push ecx
push str.The_requested_URL_returned_error:__d
push edi
call fcn.0042a840
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x16
pop ebx
add esp, 0x230
ret
mov eax, dword [ebp + 0x7e4]
mov edx, dword [esp + 0x248]
pop edi
and eax, 0xfffffffe
mov dword [ebp + 0x7e4], eax
pop esi
mov dword [ebp + 0x5dc], ecx
pop ebp
mov byte [edx], 1
xor eax, eax
pop ebx
add esp, 0x230
ret
push str.HTTP_server_doesnt_seem_to_support_byte_ranges._Cannot_resume.
push esi
call fcn.0042a840
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x21
pop ebx
add esp, 0x230
ret
cmp eax, 4
jne 0x427276
push str.Failed_writing_data
push esi
call fcn.0042a840
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x17
pop ebx
add esp, 0x230
ret
push eax
push str.Received_problem__d_in_the_chunky_parser
push esi
call fcn.0042a840
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x230
ret
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x7ec]
or ecx, 2
test eax, eax
mov dword [esp + 0x1c], ecx
jne 0x4273a1
mov ecx, dword [ebp + 0x3c4]
mov dword [ebp + 0x7f0], ecx
mov al, byte [ebp + 0x7e8]
test al, al
jne 0x4274a7
mov al, byte [ebp + 0x3b1]
test al, al
je 0x4272e6
mov edx, dword [ebp + 0x354]
cmp dword [edx + 0x58], 2
je 0x4274c2
push 0x4000
mov ebx, ebp
call fcn.00425f90
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jle 0x4274af
mov dword [ebp + 0x7ec], eax
mov cl, byte [esi + 0xc9]
test cl, cl
je 0x4273a1
mov ecx, dword [esi + 0x82b0]
test ecx, ecx
jne 0x427344
push 0x8000
call fcn.004504af
mov dword [esi + 0x82b0], eax
mov ecx, dword [esi + 0x82b0]
mov eax, dword [esp + 0x14]
add esp, 4
test ecx, ecx
je 0x42751c
xor edx, edx
xor ecx, ecx
test eax, eax
jle 0x427387
lea esp, [esp]
mov eax, dword [ebp + 0x7f0]
mov al, byte [edx + eax]
cmp al, 0xa
jne 0x427374
mov eax, dword [esi + 0x82b0]
mov byte [ecx + eax], 0xd
mov eax, dword [esi + 0x82b0]
inc ecx
mov byte [ecx + eax], 0xa
jmp 0x42737d
mov edi, dword [esi + 0x82b0]
mov byte [ecx + edi], al
mov eax, dword [esp + 0x10]
inc edx
inc ecx
cmp edx, eax
jl 0x427350
cmp ecx, eax
je 0x4273a1
mov dword [esp + 0x10], ecx
mov edx, dword [esi + 0x82b0]
mov dword [ebp + 0x7f0], edx
mov dword [ebp + 0x7ec], ecx
mov ecx, dword [ebp + 0x7ec]
mov edx, dword [ebp + 0x7f0]
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebp + 0x324]
push ecx
push edx
push eax
push ebp
call fcn.0042a670
xor edi, edi
add esp, 0x14
cmp eax, edi
jne 0x42771d
mov al, byte [esi + 0x154]
test al, al
je 0x4273ef
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 0x7f0]
push ecx
push edx
push 4
push esi
call fcn.0042a700
add esp, 0x10
mov eax, dword [ebp + 0x7ec]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
je 0x42740d
sub eax, ecx
mov dword [ebp + 0x7ec], eax
add dword [ebp + 0x7f0], ecx
jmp 0x427436
mov eax, dword [ebp + 0x3c4]
mov dword [ebp + 0x7f0], eax
mov dword [ebp + 0x7ec], edi
mov al, byte [ebp + 0x7e8]
test al, al
je 0x427436
and dword [ebp + 0x7e4], 0xfffffffd
mov dword [ebp + 0x6e0], edi
mov edi, dword [ebp + 0x35c]
add edi, ecx
mov ecx, edi
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
sub esp, 8
mov dword [ebp + 0x35c], edi
fstp qword [esp]
push esi
call fcn.0042b360
add esp, 0xc
call fcn.0042b000
mov dword [ebp + 0x36c], eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [ebp + 0x370], edx
je 0x42753a
mov eax, dword [ebp + 0x320]
test eax, eax
je 0x42748c
mov edx, dword [ebp + 0x358]
mov dword [eax], edx
mov eax, dword [ebp + 0x328]
test eax, eax
je 0x4275b2
mov ecx, dword [ebp + 0x35c]
mov dword [eax], ecx
jmp 0x4275b2
mov dword [esp + 0x10], 0
and dword [ebp + 0x7e4], 0xfffffffd
mov dword [ebp + 0x6e0], 0
jmp 0x42745d
lea esi, [ebp + 0x4d8]
mov dword [esi], 0
lea edi, [ebp + 0x6e0]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x7e4]
mov esi, 0xfffffffd
and ecx, esi
mov byte [ebp + 0x3b1], 0
mov byte [ebp + 0x3b0], 1
mov dword [ebp + 0x7e4], ecx
call fcn.0042b000
mov dword [ebp + 0x3a8], eax
mov eax, dword [esp + 0x1c]
and eax, esi
mov dword [ebp + 0x3ac], edx
mov dword [esp + 0x1c], eax
jmp 0x42745d
push str.Failed_to_alloc_scratch_buffer_
push esi
call fcn.0042a840
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x230
ret
mov al, byte [ebp + 0x3b0]
test al, al
je 0x4275b2
mov edx, dword [ebp + 0x3ac]
mov eax, dword [ebp + 0x3a8]
mov ecx, dword [ebp + 0x370]
push edx
mov edx, dword [ebp + 0x36c]
push eax
push ecx
push edx
call fcn.0042b020
add esp, 0x10
cmp eax, 0x3e8
jle 0x4275b2
mov eax, dword [ebp + 0x4d8]
cmp eax, 0x40
lea esi, [ebp + 0x4d8]
mov byte [ebp + 0x3b0], 0
jae 0x427596
mov ecx, dword [ebp + 0x324]
mov dword [ebp + eax*4 + 0x4dc], ecx
inc dword [esi]
mov eax, dword [ebp + 0x7e4]
or eax, 2
lea edi, [ebp + 0x6e0]
mov ecx, 0x41
mov dword [ebp + 0x7e4], eax
rep movsd dword es:[edi], dword [esi]
push ebp
call fcn.0042b3f0
add esp, 4
test eax, eax
je 0x4275cf
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x230
ret
mov edx, dword [ebp + 0x370]
mov eax, dword [ebp + 0x36c]
mov esi, dword [esp + 0x14]
push edx
push eax
push esi
call fcn.004315e0
add esp, 0xc
test eax, eax
jne 0x42771d
mov eax, dword [esi + 0x88]
test eax, eax
je 0x427669
mov ecx, dword [ebp + 0x368]
mov edx, dword [ebp + 0x364]
mov eax, dword [ebp + 0x370]
push ecx
mov ecx, dword [ebp + 0x36c]
push edx
push eax
push ecx
call fcn.0042b020
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [esi + 0x88]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x10
cmp eax, ecx
jl 0x427669
mov ecx, dword [ebp + 0x31c]
mov edx, dword [ebp + 0x358]
push ecx
push edx
push str.Operation_timed_out_with__d_out_of__d_bytes_received
push esi
call fcn.0042a840
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x230
ret
mov eax, dword [ebp + 0x7e4]
test eax, eax
jne 0x42770f
mov al, byte [esi + 0x14d]
test al, al
jne 0x4276c0
mov eax, dword [ebp + 0x360]
test eax, eax
je 0x4276c0
mov ecx, dword [ebp + 0x358]
cmp ecx, eax
je 0x4276c0
mov edx, dword [ebp + 0x350]
test edx, edx
jne 0x4276c0
sub eax, ecx
push eax
push str.transfer_closed_with__d_bytes_remaining_to_read
push esi
call fcn.0042a840
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x230
ret
mov al, byte [ebp + 0x2f2]
test al, al
je 0x4276f6
mov eax, dword [ebp + 0x354]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x4276f6
push eax
push str.transfer_closed_with_at_least__d_bytes_remaining
push esi
call fcn.0042a840
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x12
pop ebx
add esp, 0x230
ret
push ebp
call fcn.0042b3f0
add esp, 4
test eax, eax
jne 0x4275bf
mov eax, dword [ebp + 0x7e4]
test eax, eax
mov edx, dword [esp + 0x248]
sete cl
mov byte [edx], cl
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x230
ret