Function at 0x46a620
Capabilities:
Set socket configuration

Disassembly:
push ebp
push edi
mov edx, 0xffffffff
push esi
push ebx
sub esp, 0x7c
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
lea eax, [edi + 0x90]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x4e8]
mov dword [ebx + 0x4e8], 0
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x11c]
mov ecx, eax
and ecx, 0x15
cmp ecx, 1
jne 0x46a66e
mov edx, dword [ebx + 0x2a8]
and eax, 0x2a
mov ecx, 0xffffffff
cmp eax, 2
jne 0x46a681
mov ecx, dword [ebx + 0x2ac]
mov eax, dword [ebx]
mov ebp, dword [eax + 0xdc0]
test ebp, ebp
je 0x46aa50
or dword [esp + 0x40], 1
cmp dword [esp + 0x40], 4
je 0x46aa87
mov eax, dword [edi + 0x11c]
mov esi, eax
and esi, 1
mov dword [esp + 0x44], esi
je 0x46a8b0
test byte [esp + 0x40], 1
jne 0x46a6ca
test byte [ebx + 0x27e], 0x40
je 0x46a8b0
mov eax, dword [esp + 0x98]
mov ebp, ebx
mov byte [esp + 0x64], 0
mov dword [esp + 0x38], 0x64
mov dword [esp + 0x48], 0
mov byte [eax], 0
mov eax, dword [esp + 0x9c]
mov byte [eax], 0
xor eax, eax
mov ebx, eax
lea esi, [esi]
mov edx, dword [edi + 0x94]
mov eax, dword [edi + 0x90]
mov esi, dword [edi + 0x8c0]
mov ecx, edx
and ecx, eax
cmp ecx, 0xffffffff
je 0x46a750
test byte [edi + 0x56c], 1
jne 0x46a750
sub eax, dword [edi + 0xa0]
mov dword [esp + 0x50], esi
sbb edx, dword [edi + 0xa4]
mov dword [esp + 0x54], 0
cmp edx, 0
jg 0x46a750
jge 0x46af84
mov esi, eax
lea esi, [esi]
test esi, esi
jne 0x46ad10
mov eax, dword [edi + 0xa4]
or eax, dword [edi + 0xa0]
mov dword [esp + 0x6c], 0
jne 0x46acf0
mov eax, dword [edi + 0xac]
or eax, dword [edi + 0xa8]
je 0x46ad6d
mov eax, dword [esp + 0x6c]
cmp eax, 0
je 0x46acf0
jle 0x46add1
xor ebx, ebx
xor esi, esi
mov edx, dword [edi + 0x118]
mov byte [edx + eax], 0
mov eax, dword [edi + 0x118]
mov dword [edi + 0xe0], eax
mov eax, dword [ebp + 0x290]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x46a7ea
lea edx, [esp + 0x64]
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 0xc], edx
lea edx, [esp + 0x6c]
mov dword [esp + 8], edx
call eax
test eax, eax
jne 0x46b030
cmp byte [esp + 0x64], 0
jne 0x46adb8
test byte [edi + 0x56c], 1
jne 0x46aaf0
mov eax, dword [edi + 0xe0]
test eax, eax
je 0x46ab5d
mov eax, dword [esp + 0x6c]
test eax, eax
jg 0x46a815
test bl, bl
je 0x46ab5d
movzx edx, byte [edi + 0xa6f]
test dl, 0x10
jne 0x46b80f
mov eax, dword [edi + 0x114]
mov ebx, eax
or ebx, esi
je 0x46b230
add eax, 1
and edx, 0x40
mov dword [edi + 0x114], eax
je 0x46ae06
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x46ade4
mov eax, dword [edi + 0xdc]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0xbb0]
mov dword [esp + 4], 3
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00460ea0
cmp dword [edi + 0xd0], 1
je 0x46ade4
test byte [edi + 0x56c], 0x20
jne 0x46b180
mov eax, dword [edi + 0xa0]
mov edx, dword [edi + 0xa4]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
jmp 0x46ae34
test al, 2
je 0x46aab0
test byte [esp + 0x40], 2
mov dword [esp + 0x44], 0
je 0x46aab0
mov eax, dword [edi + 0xa4]
or eax, dword [edi + 0xa0]
je 0x46b040
mov esi, dword [edi + 0x128]
test esi, esi
jne 0x46b3f0
mov eax, dword [edi + 0xbbc]
test eax, eax
jne 0x46a912
mov eax, dword [edi + 0x8c4]
mov dword [esp], eax
call dword [0x536390]
test eax, eax
mov dword [edi + 0xbbc], eax
je 0x46b805
test byte [edi + 0x56c], 4
mov dword [edi + 0x12c], eax
jne 0x46b070
cmp dword [edi + 0x104], 2
mov edx, dword [edi + 0x130]
je 0x46b6f7
mov eax, dword [ebx + 0x290]
mov byte [esp + 0x38], 0
test dword [eax + 0x40], 0x40003
je 0x46a958
cmp dword [edx + 0x1a0], 1
sete byte [esp + 0x38]
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x8c4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00469f30
test eax, eax
mov ebp, eax
jne 0x46aae3
mov esi, dword [esp + 0x6c]
cmp esi, 0
je 0x46b070
jle 0x46b9a7
cmp byte [esp + 0x38], 0
mov dword [edi + 0x128], esi
jne 0x46b3f0
test byte [edi + 0xa6c], 0x40
je 0x46b3f0
mov eax, dword [edi + 0xc00]
test eax, eax
jne 0x46a9d6
mov eax, dword [edi + 0x8c4]
add eax, eax
mov dword [esp], eax
call dword [0x536390]
test eax, eax
mov dword [edi + 0xc00], eax
je 0x46b98d
xor ecx, ecx
xor ebp, ebp
mov dword [esp + 0x90], ebx
jmp 0x46a9f8
mov byte [eax], dl
mov ecx, ebx
add ebp, 1
cmp esi, ebp
je 0x46b8de
mov eax, dword [edi + 0xc00]
mov edx, dword [edi + 0x12c]
add eax, ecx
lea ebx, [ecx + 1]
movzx edx, byte [edx + ebp]
cmp dl, 0xa
jne 0x46a9e3
mov byte [eax], 0xd
mov eax, dword [edi + 0xc00]
mov byte [eax + ecx + 1], 0xa
add ecx, 2
test byte [edi + 0xa6c], 0x40
jne 0x46a9e7
mov edx, dword [edi + 0xdbc]
mov eax, dword [edi + 0xdb8]
mov ebx, edx
and ebx, eax
cmp ebx, 0xffffffff
je 0x46a9e7
add eax, 1
adc edx, 0
mov dword [edi + 0xdb8], eax
mov dword [edi + 0xdbc], edx
jmp 0x46a9e7
mov esi, dword [esp + 0x40]
test esi, esi
jne 0x46a696
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
call fcn.00440960
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 4
jne 0x46a6a1
mov dword [esp], edi
mov dword [esp + 4], str.select_poll_returned_error
mov ebp, 0x37
call fcn.00460000
add esp, 0x7c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00453860
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], edx
cmp dword [edi + 0x104], 1
je 0x46b545
mov dword [esp], ebx
call fcn.004567e0
test eax, eax
je 0x46ac31
mov ebp, 0x2a
add esp, 0x7c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
lea ecx, [esp + 0x6c]
lea eax, [esp + 0x68]
mov dword [esp + 4], ebp
mov dword [esp], edi
mov byte [esp + 0x68], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 0x50], ecx
call fcn.0045e490
test eax, eax
jne 0x46b030
mov eax, dword [ebp + 0x290]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x46ab3b
cmp dword [edi + 0x9c], 0
jle 0x46b1e1
cmp byte [esp + 0x68], 0
jne 0x46b7d4
mov eax, dword [edi + 0xe0]
test eax, eax
je 0x46ab5d
test byte [edi + 0x56c], 1
je 0x46a805
mov ecx, dword [esp + 0x48]
mov edx, dword [ebp + 0x290]
test ecx, ecx
mov eax, dword [edx + 0x34]
je 0x46ab7f
test eax, eax
je 0x46ab7f
test byte [ebp + 0x27e], 0x40
je 0x46b756
test esi, esi
mov eax, dword [edi + 0x11c]
je 0x46ab92
and eax, 0xfffffffe
mov dword [edi + 0x11c], eax
test al, 0x10
jne 0x46b681
test byte [edx + 0x40], 0x30
je 0x46ada0
sub dword [esp + 0x38], 1
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
cmp eax, 0xffffffff
jne 0x46a700
mov eax, dword [edi + 0x11c]
mov ebx, ebp
mov esi, dword [esp + 0x9c]
mov dword [ebx + 0x4e8], 1
mov byte [esi], 1
and eax, 3
cmp eax, 2
je 0x46b3b0
mov eax, dword [esp + 0x98]
cmp byte [eax], 0
jne 0x46b3a0
test byte [edi + 0x11c], 2
je 0x46ac06
test byte [esp + 0x40], 2
jne 0x46a8cb
call fcn.00453860
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
test ebp, ebp
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
je 0x46aac1
mov dword [esp], ebx
call fcn.004567e0
test eax, eax
jne 0x46aade
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00466360
test eax, eax
mov ebp, eax
jne 0x46aae3
mov esi, dword [edi + 0x11c]
test esi, esi
jne 0x46b5b0
test byte [edi + 0xa6f], 0x10
jne 0x46b0e0
mov edx, dword [edi + 0x94]
mov eax, dword [edi + 0x90]
mov ecx, edx
mov dword [esp + 0x38], eax
and ecx, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
cmp ecx, 0xffffffff
je 0x46b0b4
mov eax, dword [edi + 0xa0]
mov edx, dword [edi + 0xa4]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
xor ecx, eax
xor esi, edx
or esi, ecx
je 0x46b0b4
mov ecx, dword [edi + 0x124]
test ecx, ecx
jne 0x46b0b4
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov ebp, 0x12
mov dword [esp + 4], str.transfer_closed_with__I64d_bytes_remaining_to_read
mov dword [esp], edi
sub ebx, eax
sbb esi, edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call fcn.00460000
jmp 0x46aae3
mov ecx, dword [edi + 0x114]
test ecx, ecx
jne 0x46add1
mov esi, dword [esp + 0x44]
mov ebx, 1
xor eax, eax
jmp 0x46a79b
lea eax, [esp + 0x6c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x118]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x2a8]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00460e20
cmp eax, 0x51
je 0x46b743
test eax, eax
jne 0x46b030
mov eax, dword [edi + 0xa4]
or eax, dword [edi + 0xa0]
jne 0x46a784
mov eax, dword [edi + 0xac]
or eax, dword [edi + 0xa8]
jne 0x46a784
mov dword [esp + 4], 7
mov dword [esp], edi
call fcn.00456280
mov ebx, dword [edi + 0x104]
test ebx, ebx
je 0x46a784
call fcn.00453860
mov esi, dword [esp + 0x4c]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], edx
jmp 0x46a784
mov dword [esp + 4], 0
mov dword [esp], ebp
call fcn.0044ea80
test al, al
jne 0x46aba4
mov ebx, ebp
mov eax, dword [edi + 0x11c]
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x46abd6
jmp 0x46abc2
mov eax, dword [edi + 0x11c]
mov ebx, ebp
and eax, 0xfffffffe
mov dword [edi + 0x11c], eax
jmp 0x46adc0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0xe0]
mov dword [esp + 4], 3
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00460ea0
test byte [edi + 0x56c], 0x20
jne 0x46b180
cmp dword [edi + 0xd0], 1
mov eax, dword [edi + 0xa0]
mov edx, dword [edi + 0xa4]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
je 0x46b140
mov ebx, dword [edi + 0x9c]
mov eax, dword [edi + 0x98]
mov edx, ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x5c], edx
mov ecx, ebx
mov dword [esp + 0x58], ebx
sar ebx, 0x1f
add ecx, dword [esp + 0x50]
adc ebx, dword [esp + 0x54]
and edx, eax
cmp edx, 0xffffffff
je 0x46ae6c
cmp dword [esp + 0x5c], ebx
jle 0x46af34
mov dword [edi + 0xa0], ecx
mov dword [edi + 0xa4], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp], edi
call fcn.00456610
movzx eax, byte [edi + 0x56c]
test al, 0x20
jne 0x46ab5d
mov ebx, dword [esp + 0x6c]
mov edx, dword [edi + 0xd0]
test ebx, ebx
je 0x46af93
and eax, 8
test edx, edx
je 0x46afd0
test al, al
jne 0x46af1c
mov ebx, dword [edi + 0xdc]
mov eax, dword [edi + 0x9c]
mov edx, dword [edi + 0x98]
mov ecx, dword [edi + 0xbb0]
mov dword [esp + 0x50], ebx
mov ebx, eax
and ebx, edx
cmp ebx, 0xffffffff
je 0x46b660
cmp eax, 0
jl 0x46aef6
jg 0x46b660
cmp edx, dword [esp + 0x50]
jae 0x46b660
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.004608b0
test eax, eax
jne 0x46b030
mov edx, dword [edi + 0xd0]
cmp edx, 1
jbe 0x46afc1
mov dword [edi + 0xd0], 0
jmp 0x46ab5d
jl 0x46af3e
cmp eax, ecx
ja 0x46ae6c
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
sub edx, eax
add edx, ecx
mov dword [esp + 0x48], edx
je 0x46af5d
test byte [edi + 0x56c], 8
je 0x46b690
sub eax, ecx
js 0x46b530
mov ebx, eax
mov ecx, eax
mov dword [esp + 0x6c], eax
sar ebx, 0x1f
add ecx, dword [esp + 0x50]
adc ebx, dword [esp + 0x54]
and dword [edi + 0x11c], 0xfffffffe
jmp 0x46ae6c
cmp eax, dword [esp + 0x50]
jae 0x46a750
jmp 0x46a747
mov ebx, edx
or ebx, esi
jne 0x46aea9
mov edx, dword [ebp + 0x290]
mov eax, dword [edx + 0x34]
test eax, eax
je 0x46afb6
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x46ab72
mov eax, dword [edi + 0x11c]
jmp 0x46ab92
movzx eax, byte [edi + 0x56c]
and eax, 8
nop
lea esi, [esi]
mov edx, dword [ebp]
cmp byte [edx + 0xa70], 0
js 0x46b110
mov edx, dword [edi + 0x10c]
test edx, edx
je 0x46b110
test al, al
jne 0x46af25
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0xe0]
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.0046d860
test eax, eax
mov dword [edi + 0xd0], 0
je 0x46ab5d
lea esi, [esi]
lea edi, [edi]
mov ebp, eax
jmp 0x46aae3
mov eax, dword [edi + 0xac]
or eax, dword [edi + 0xa8]
jne 0x46a8dd
mov dword [esp + 4], 7
mov dword [esp], edi
call fcn.00456280
jmp 0x46a8dd
mov eax, dword [edi + 0x11c]
test al, 0x20
jne 0x46b0a0
and eax, 0xfffffffd
mov dword [edi + 0x11c], eax
test byte [ebx + 0x27e], 1
je 0x46b0a0
mov dword [esp], ebx
call fcn.0046a3c0
test eax, eax
mov ebp, eax
jne 0x46aae3
nop
call fcn.00453860
mov esi, dword [esp + 0x4c]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
jmp 0x46aace
test byte [edi + 0x56c], 0x20
je 0x46b0e0
cmp dword [ebx + 0x28], 4
je 0x46b0e0
mov dword [esp + 4], str.transfer_closed_with_outstanding_read_data_remaining
mov dword [esp], edi
mov ebp, 0x12
call fcn.00460000
jmp 0x46aae3
mov dword [esp], ebx
call fcn.004567e0
test eax, eax
jne 0x46aade
test byte [edi + 0x11c], 0x33
mov eax, dword [esp + 0x98]
sete byte [eax]
add esp, 0x7c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
test al, al
jne 0x46af25
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0xe0]
mov dword [esp + 4], 1
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.004608b0
jmp 0x46b014
test byte [edi + 0x56c], 8
jne 0x46ae34
xor edx, edx
mov eax, dword [edi + 0xdc]
add dword [esp + 0x50], eax
adc dword [esp + 0x54], edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], edx
jmp 0x46ae34
lea eax, [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [edi + 0xe0]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0046c890
test eax, eax
jg 0x46b906
cmp eax, 0xffffffff
jne 0x46ae13
mov eax, dword [ebp + 0x38]
and dword [edi + 0x11c], 0xfffffffe
test eax, eax
je 0x46ae13
mov dword [esp + 8], eax
mov dword [esp + 4], str.Leftovers_after_chunking:__zu_bytes_n
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.0045fe80
jmp 0x46ae13
jl 0x46b1f0
cmp dword [edi + 0x98], 0
ja 0x46ab3b
mov edx, dword [esp + 0x6c]
test edx, edx
jle 0x46ab3b
lea edx, [esp + 0x64]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 0xc], edx
call eax
test eax, eax
jne 0x46b030
cmp byte [esp + 0x64], 0
je 0x46ab3b
jmp 0x46adb8
mov eax, dword [ebp + 0x290]
test dword [eax + 0x40], 0x40003
je 0x46b3e0
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x46b271
test byte [ebp + 0x27c], 1
jne 0x46b38e
or byte [edi + 0x56c], 8
mov dword [esp + 4], str.Ignoring_the_response_body_n
mov dword [esp], edi
call fcn.0045fe80
mov edx, dword [edi + 0xda4]
mov eax, dword [edi + 0xda0]
mov ebx, edx
or ebx, eax
je 0x46b2c3
movzx ecx, byte [edi + 0x56c]
test cl, 2
jne 0x46b2c3
cmp dword [edi + 0x804], 1
jne 0x46b2c3
and ecx, 8
jne 0x46b2c3
cmp edx, dword [edi + 0x94]
je 0x46b362
mov dword [esp + 4], str.HTTP_server_doesnt_seem_to_support_byte_ranges._Cannot_resume.
mov dword [esp], edi
mov ebp, 0x21
call fcn.00460000
jmp 0x46aae3
mov eax, dword [edi + 0x7fc]
test eax, eax
je 0x46b350
mov edx, dword [edi + 0xd98]
test edx, edx
jne 0x46b350
mov edx, dword [edi + 0x110]
test edx, edx
je 0x46b350
mov ecx, dword [edi + 0x800]
test ecx, ecx
je 0x46b350
cmp eax, 2
je 0x46b967
cmp edx, ecx
jg 0x46b350
mov dword [esp + 4], 0x5e9530
mov dword [esp], edi
mov ebx, ebp
call fcn.0045fe80
or byte [edi + 0xedc], 1
mov eax, dword [esp + 0x98]
mov byte [eax], 1
mov dword [edi + 0xe30], 0x130
mov dword [esp + 4], str.Simulate_a_HTTP_304_response__n
mov dword [esp], edi
call fcn.0045fe80
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.00439150
jmp 0x46abe2
mov eax, dword [edi + 0x114]
movzx edx, byte [edi + 0xa6f]
jmp 0x46a835
cmp eax, dword [edi + 0x90]
jne 0x46b2a9
mov dword [esp + 4], str.The_entire_document_is_already_downloaded
mov dword [esp], edi
call fcn.0045fe80
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.00439150
mov eax, dword [esp + 0x98]
and dword [edi + 0x11c], 0xfffffffe
mov byte [eax], 1
nop
xor ebp, ebp
jmp 0x46aae3
test byte [ebx + 0x27c], 1
je 0x46abe2
mov dword [esp + 4], str.we_are_done_reading_and_this_is_set_to_close__stop_send_n
mov dword [esp], edi
call fcn.0045fe80
and dword [edi + 0x11c], 0xfffffffd
jmp 0x46abe2
xor eax, eax
jmp 0x46a835
mov esi, dword [edi + 0x128]
lea esi, [esi]
mov eax, dword [edi + 0x12c]
lea edx, [esp + 0x64]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0x2ac]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00460460
test eax, eax
mov ebp, eax
jne 0x46aae3
mov ebp, dword [ebx + 0x2ac]
lea eax, [esp + 0x6c]
lea esi, [esp + 0x68]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4004747b
mov dword [esp], ebp
call dword [sym.imp.WS2_32.dll_WSAIoctl]
sub esp, 0x24
test eax, eax
jne 0x46b4a0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x1001
mov dword [esp + 4], 0xffff
mov dword [esp], ebp
call dword [sym.imp.WS2_32.dll_setsockopt]
sub esp, 0x14
test byte [edi + 0xa6f], 0x40
mov eax, dword [esp + 0x64]
jne 0x46b88c
cdq
add eax, dword [edi + 0xa8]
adc edx, dword [edi + 0xac]
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], edi
call fcn.00456740
movzx eax, word [edi + 0x56c]
and ax, 0x140
cmp ax, 0x40
je 0x46b50b
mov eax, dword [edi + 0xa8]
mov edx, dword [edi + 0xac]
xor eax, dword [edi + 0xdb8]
xor edx, dword [edi + 0xdbc]
or edx, eax
je 0x46b931
mov eax, dword [edi + 0x128]
mov edx, dword [esp + 0x64]
cmp eax, edx
je 0x46b833
sub eax, edx
add dword [edi + 0x12c], edx
mov dword [edi + 0x128], eax
jmp 0x46b0a0
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
jmp 0x46af78
mov esi, dword [esp + 0x4c]
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00453920
cmp dword [edi + 0xa3c], eax
jg 0x46aace
or dword [edi + 0x11c], 2
mov dword [edi + 0x104], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.0043da60
mov dword [esp + 4], str.Done_waiting_for_100_continue_n
mov dword [esp], edi
call fcn.0045fe80
jmp 0x46aace
lea eax, [edi + 0xc8]
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00437100
test eax, eax
jns 0x46b0f0
mov edx, dword [edi + 0x94]
mov ebp, dword [edi + 0x90]
mov ebx, dword [edi + 0xa0]
mov esi, dword [edi + 0xa4]
mov eax, edx
mov dword [esp + 0x38], edx
mov edx, dword [edi + 0xb04]
and eax, ebp
cmp eax, 0xffffffff
mov eax, dword [edi + 0xb00]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x46b8b3
call fcn.00453920
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], ebp
mov ebp, 0x1c
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.Operation_timed_out_after__d_milliseconds_with__I64d_out_of__I64d_bytes_received
mov dword [esp + 0x18], edx
mov dword [esp], edi
call fcn.00460000
jmp 0x46aae3
mov eax, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 4], 1
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call fcn.004608b0
jmp 0x46af0e
mov ebx, ebp
jmp 0x46adc0
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0x94]
mov dword [esp + 4], str.Excess_found_in_a_read:_excess___zu__size___I64d__maxdownload___I64d__bytecount___I64d_n
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
call fcn.0045fe80
mov ecx, dword [edi + 0xa0]
mov ebx, dword [edi + 0xa4]
mov eax, dword [edi + 0x98]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ebx
jmp 0x46af5d
cmp dword [edx + 0x1a0], 2
jne 0x46a938
and dword [edi + 0x11c], 0xfffffffd
mov dword [edi + 0x104], 1
call fcn.00453860
mov esi, dword [esp + 0x4c]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], edx
mov dword [esp + 8], 0
mov eax, dword [edi + 0xa3c]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0043ae00
jmp 0x46ac06
mov esi, ebx
mov eax, dword [edi + 0x11c]
mov ebx, ebp
mov dword [esp + 0x44], esi
jmp 0x46adc0
mov ecx, dword [edi + 0x8c0]
mov edx, dword [esp + 0x6c]
mov ebx, ebp
add edx, dword [edi + 0xe0]
add ecx, dword [edi + 0x118]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x50], eax
lea esi, [edx + ebp]
mov eax, ecx
mov dword [edi + 0xe0], edx
sub eax, edx
mov dword [esp + 4], ebx
mov dword [esp], edi
cmp ecx, esi
mov edx, eax
mov eax, dword [esp + 0x50]
cmovae edx, ebp
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x64]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x6c]
mov dword [esp + 8], edx
call eax
test eax, eax
mov ebp, eax
jne 0x46aae3
cmp byte [esp + 0x64], 0
mov eax, dword [edi + 0x11c]
je 0x46adc0
or eax, 1
mov dword [edi + 0x11c], eax
jmp 0x46adc0
mov eax, dword [esp + 0x6c]
mov ebx, ebp
test eax, eax
jle 0x46adba
mov edx, dword [edi + 0xdf0]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Excess_found:_excess___zd_url___s__zero_length_body__n
mov dword [esp], edi
mov dword [esp + 0xc], edx
call fcn.0045fe80
jmp 0x46adba
mov ebp, 0x1b
jmp 0x46aae3
mov dword [esp], ebp
mov dword [esp + 4], 2
mov ebp, 8
call fcn.00439150
mov eax, dword [esp + 0x98]
mov byte [eax], 1
jmp 0x46aae3
mov eax, dword [edi + 0xbbc]
test eax, eax
jne 0x46b856
mov eax, dword [edi + 0x8c4]
mov dword [esp], eax
call dword [0x536390]
test eax, eax
mov dword [edi + 0xbbc], eax
je 0x46b805
test byte [edi + 0x56c], 4
mov dword [edi + 0x12c], eax
mov dword [edi + 0x128], 0
je 0x46b0a0
and dword [edi + 0x11c], 0xfffffffd
test byte [ebx + 0x27e], 1
je 0x46b0a0
jmp 0x46b08c
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x12c]
mov dword [esp + 4], 4
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00460ea0
mov eax, dword [esp + 0x64]
jmp 0x46b4b1
call fcn.00453920
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov ebp, 0x1c
mov dword [esp + 8], eax
mov dword [esp + 4], str.Operation_timed_out_after__d_milliseconds_with__I64d_bytes_received
mov dword [esp], edi
call fcn.00460000
jmp 0x46aae3
cmp esi, ecx
mov ebx, dword [esp + 0x90]
je 0x46b3e7
mov eax, dword [edi + 0xc00]
mov dword [edi + 0x128], ecx
mov esi, ecx
mov dword [edi + 0x12c], eax
jmp 0x46b3f6
cmp eax, 4
je 0x46b94d
mov dword [esp], eax
mov ebp, 0x38
call fcn.0046cd90
mov dword [esp + 4], str._s_in_chunked_encoding
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.00460000
jmp 0x46aae3
or byte [edi + 0x56c], 4
mov dword [esp + 4], str.We_are_completely_uploaded_and_fine_n
mov dword [esp], edi
call fcn.0045fe80
jmp 0x46b50b
mov dword [esp + 4], str.Failed_writing_data
mov dword [esp], edi
mov ebp, 0x17
call fcn.00460000
jmp 0x46aae3
cmp edx, ecx
jl 0x46b350
mov dword [esp + 4], 0x5e955c
mov dword [esp], edi
mov ebx, ebp
call fcn.0045fe80
or byte [edi + 0xedc], 1
jmp 0x46b315
mov dword [esp + 4], str.Failed_to_alloc_scratch_buffer_
mov dword [esp], edi
mov ebp, 0x1b
call fcn.00460000
jmp 0x46aae3
mov eax, dword [edi + 0x11c]
jmp 0x46b07a