Function at 0x47cc50
Capabilities:
Set socket configuration

Disassembly:
push ebp
push edi
mov edx, 0xffffffff
push esi
push ebx
sub esp, 0x7c
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
lea eax, [ebx + 0x88]
mov edi, dword [ebp + 0x798]
mov dword [ebp + 0x798], 0
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x114]
mov ecx, eax
and ecx, 0x15
cmp ecx, 1
je 0x47cee0
and eax, 0x2a
mov ecx, 0xffffffff
cmp eax, 2
je 0x47ced0
mov eax, dword [ebp]
mov eax, dword [eax + 0xe40]
test eax, eax
je 0x47ce40
or edi, 1
cmp edi, 4
je 0x47ce77
mov eax, dword [ebx + 0x114]
test al, 1
je 0x47ccdc
test edi, 1
jne 0x47cef0
test al, 2
je 0x47ce94
xor esi, esi
and edi, 2
mov dword [esp + 0x48], 2
je 0x47ce94
mov eax, dword [ebx + 0x9c]
or eax, dword [ebx + 0x98]
je 0x47d0b1
mov eax, dword [ebx + 0x120]
test eax, eax
jne 0x47d7a9
mov eax, dword [ebx + 0xc24]
test eax, eax
je 0x47dd6f
test byte [ebx + 0x564], 4
mov dword [ebx + 0x124], eax
jne 0x47d980
cmp dword [ebx + 0xfc], 2
mov eax, dword [ebx + 0x128]
je 0x47dca7
mov edx, dword [ebp + 0x508]
xor esi, esi
test dword [edx + 0x40], 0x40003
je 0x47cd68
cmp dword [eax + 0x1b0], 1
sete al
mov esi, eax
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x8d4]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sym._Curl_fillreadbuffer
test eax, eax
jne 0x47cec7
mov edi, dword [esp + 0x6c]
cmp edi, 0
je 0x47d980
jle 0x47dff3
mov eax, esi
mov dword [ebx + 0x120], edi
test al, al
jne 0x47d790
test byte [ebx + 0xabc], 0x40
je 0x47d790
mov edx, dword [ebx + 0xc68]
test edx, edx
je 0x47df6d
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x90], ebp
jmp 0x47cdec
mov byte [edx + ecx], al
add esi, 1
add ecx, 1
cmp edi, esi
je 0x47d76e
mov edx, dword [ebx + 0xc68]
mov eax, dword [ebx + 0x124]
movzx eax, byte [eax + esi]
cmp al, 0xa
jne 0x47cdd5
mov byte [edx + ecx], 0xd
mov eax, dword [ebx + 0xc68]
mov byte [eax + ecx + 1], 0xa
add ecx, 1
test byte [ebx + 0xabc], 0x40
jne 0x47cdd8
mov eax, dword [ebx + 0xe38]
mov edx, dword [ebx + 0xe3c]
mov ebp, eax
and ebp, edx
cmp ebp, 0xffffffff
je 0x47cdd8
add eax, 1
adc edx, 0
mov dword [ebx + 0xe38], eax
mov dword [ebx + 0xe3c], edx
jmp 0x47cdd8
test edi, edi
jne 0x47ccbd
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
call sym._Curl_socket_check
mov edi, eax
cmp edi, 4
jne 0x47ccc6
mov dword [esp], ebx
mov dword [esp + 4], str.select_poll_returned_error
call sym._Curl_failf
add esp, 0x7c
mov eax, 0x37
pop ebx
pop esi
pop edi
pop ebp
ret
call sym._Curl_now
mov dword [ebx + 0xc0], eax
mov dword [ebx + 0xc4], edx
cmp dword [ebx + 0xfc], 1
je 0x47da93
mov dword [esp], ebp
call sym._Curl_pgrsUpdate
test eax, eax
je 0x47d1e8
mov eax, 0x2a
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebp + 0x524]
jmp 0x47cca9
mov edx, dword [ebp + 0x520]
jmp 0x47cc98
mov eax, dword [esp + 0x98]
mov dword [esp + 0x5c], edi
mov edi, ebp
mov byte [esp + 0x64], 0
mov dword [esp + 0x38], 0x64
mov dword [esp + 0x50], 0
mov byte [eax], 0
mov eax, dword [esp + 0x9c]
mov byte [eax], 0
xor eax, eax
mov ebp, eax
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0x8c]
mov ecx, dword [ebx + 0x8d0]
mov esi, eax
and esi, edx
cmp esi, 0xffffffff
je 0x47cf74
test byte [ebx + 0x564], 1
jne 0x47cf74
sub eax, dword [ebx + 0x98]
mov dword [esp + 0x48], ecx
sbb edx, dword [ebx + 0x9c]
mov dword [esp + 0x4c], 0
cmp edx, 0
jg 0x47cf74
jl 0x47d0e0
cmp eax, dword [esp + 0x48]
jb 0x47d0e0
test ecx, ecx
jne 0x47d0f0
mov eax, dword [ebx + 0x9c]
or eax, dword [ebx + 0x98]
mov dword [esp + 0x68], 0
je 0x47d5c0
mov ebp, dword [ebx + 0x10c]
test ebp, ebp
jne 0x47d660
xor eax, eax
mov ebp, 1
mov edx, dword [ebx + 0x110]
mov byte [edx + eax], 0
mov eax, dword [ebx + 0x110]
mov dword [ebx + 0xd8], eax
mov eax, dword [edi + 0x508]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x47cffa
lea esi, [esp + 0x64]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0xc], esi
lea esi, [esp + 0x68]
mov dword [esp + 8], esi
call eax
test eax, eax
jne 0x47cec7
cmp byte [esp + 0x64], 0
jne 0x47d16d
test byte [ebx + 0x564], 1
jne 0x47d5f2
mov eax, dword [ebx + 0xd8]
test eax, eax
je 0x47d030
mov edx, dword [esp + 0x68]
mov eax, ebp
and eax, 1
mov byte [esp + 0x57], al
test edx, edx
jg 0x47d2a2
test al, al
jne 0x47d2a2
nop
mov eax, dword [edi + 0x508]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x47d049
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x47dbc0
test ebp, ebp
mov eax, dword [ebx + 0x114]
je 0x47d05c
and eax, 0xfffffffe
mov dword [ebx + 0x114], eax
test al, 0x10
jne 0x47d16d
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x508]
test byte [edx + 0x40], 0x30
je 0x47d155
sub dword [esp + 0x38], 1
mov ebp, 1
mov eax, dword [esp + 0x38]
cmp eax, 0xffffffff
jne 0x47cf23
mov dword [esp + 0x48], ebp
mov ebp, edi
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x9c]
mov dword [ebp + 0x798], 1
mov byte [eax], 1
jmp 0x47d187
mov eax, dword [ebx + 0xa4]
or eax, dword [ebx + 0xa0]
jne 0x47cd09
mov dword [esp + 4], 7
mov dword [esp], ebx
call sym._Curl_pgrsTime
jmp 0x47cd09
mov ecx, eax
test ecx, ecx
je 0x47cf7c
lea esi, [esi]
lea eax, [esp + 0x68]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x110]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x520]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._Curl_read
cmp eax, 0x51
je 0x47ddb4
test eax, eax
jne 0x47cec7
mov eax, dword [ebx + 0x9c]
or eax, dword [ebx + 0x98]
je 0x47d5c0
mov eax, dword [esp + 0x68]
cmp eax, 0
je 0x47cf96
jle 0x47d660
xor ebp, ebp
jmp 0x47cfab
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._Curl_ssl_data_pending
test al, al
jne 0x47d077
mov ebp, edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x47d098
mov eax, dword [ebx + 0x114]
and eax, 3
cmp eax, 2
je 0x47d9c0
mov esi, dword [esp + 0x98]
xor eax, eax
cmp byte [esi], 0
jne 0x47cec7
test byte [ebx + 0x114], 2
je 0x47d1bd
and edi, 2
jne 0x47e00a
call sym._Curl_now
mov edi, dword [esp + 0x44]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], edx
mov edi, dword [esp + 0x48]
test edi, edi
je 0x47cea5
mov dword [esp], ebp
call sym._Curl_pgrsUpdate
test eax, eax
jne 0x47cec2
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._Curl_speedcheck
test eax, eax
jne 0x47cec7
mov esi, dword [ebx + 0x114]
test esi, esi
jne 0x47d6b0
test byte [ebx + 0xabf], 0x10
jne 0x47d680
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0x8c]
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x47d26e
mov edi, dword [ebx + 0x9c]
mov esi, dword [ebx + 0x98]
mov ecx, edx
mov dword [esp + 0x3c], edi
xor ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x38]
mov esi, ecx
xor edi, eax
or esi, edi
je 0x47d26e
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
je 0x47dc7d
test byte [ebx + 0x564], 0x20
je 0x47d680
cmp dword [ebp + 0x290], 4
je 0x47d680
mov dword [esp + 4], str.transfer_closed_with_outstanding_read_data_remaining
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 0x12
jmp 0x47cec7
movzx edx, byte [ebx + 0xabf]
test dl, 0x10
jne 0x47dd90
mov eax, dword [ebx + 0x10c]
test eax, eax
jne 0x47d365
cmp byte [esp + 0x57], 0
jne 0x47d365
mov eax, dword [edi + 0x508]
test dword [eax + 0x40], 0x40003
je 0x47d970
mov eax, dword [ebx + 0x11c]
test eax, eax
je 0x47d30c
test byte [edi + 0x4f0], 1
jne 0x47df20
or byte [ebx + 0x564], 8
mov dword [esp + 4], str.Ignoring_the_response_body_n
mov dword [esp], ebx
call sym._Curl_infof
mov eax, dword [ebx + 0xe24]
mov ecx, dword [ebx + 0xe20]
mov esi, eax
or esi, ecx
je 0x47d340
movzx edx, byte [ebx + 0x564]
test dl, 2
jne 0x47d340
cmp dword [ebx + 0x80c], 1
je 0x47de37
mov esi, esi
lea edi, [edi]
mov eax, dword [ebx + 0x804]
test eax, eax
je 0x47d358
mov eax, dword [ebx + 0xe1c]
test eax, eax
je 0x47dea5
movzx edx, byte [ebx + 0xabf]
mov eax, dword [ebx + 0x10c]
add eax, 1
and edx, 0x40
mov dword [ebx + 0x10c], eax
je 0x47d532
mov esi, dword [ebx + 0xc8]
test esi, esi
je 0x47d510
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc18]
mov dword [esp + 4], 3
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._Curl_debug
cmp dword [ebx + 0xc8], 1
je 0x47d510
test byte [ebx + 0x564], 0x20
jne 0x47d53b
mov eax, dword [ebx + 0x98]
mov edx, dword [ebx + 0x9c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov ecx, dword [ebx + 0x90]
mov esi, dword [ebx + 0x94]
mov eax, ecx
and eax, esi
cmp eax, 0xffffffff
mov eax, dword [esp + 0x68]
je 0x47d760
cdq
mov dword [esp + 0x58], eax
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x4c]
cmp esi, edx
jg 0x47d413
jl 0x47d4c3
cmp ecx, eax
jbe 0x47d4c3
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ebx
call sym._Curl_pgrsSetDownloadCounter
movzx eax, byte [ebx + 0x564]
test al, 0x20
jne 0x47d030
mov ecx, dword [esp + 0x68]
mov edx, dword [ebx + 0xc8]
test ecx, ecx
jne 0x47d460
test edx, edx
jne 0x47d460
cmp byte [esp + 0x57], 0
je 0x47d030
nop
lea esi, [esi]
test edx, edx
jne 0x47d8f0
mov edx, dword [edi]
cmp byte [edx + 0xac0], 0
jns 0x47d9f0
test al, 8
jne 0x47d95d
mov eax, dword [edi + 0x508]
test dword [eax + 0x40], 0xc000
mov eax, dword [esp + 0x68]
je 0x47ddc3
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._Curl_pop3_write
test eax, eax
mov dword [ebx + 0xc8], 0
je 0x47d030
jmp 0x47cec7
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
sub edx, ecx
add edx, eax
mov dword [esp + 0x50], edx
je 0x47d4e2
test byte [ebx + 0x564], 8
je 0x47da30
mov edx, dword [esp + 0x48]
mov eax, ecx
sub eax, edx
js 0x47db60
mov dword [esp + 0x68], eax
cdq
and dword [ebx + 0x114], 0xfffffffe
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x4c]
jmp 0x47d413
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp + 4], 3
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._Curl_debug
test byte [ebx + 0x564], 0x20
je 0x47d576
lea eax, [esp + 0x6c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._Curl_httpchunk_read
test eax, eax
jg 0x47de70
cmp eax, 0xffffffff
je 0x47db90
cmp dword [ebx + 0xc8], 1
jne 0x47d3c3
test byte [ebx + 0x564], 8
jne 0x47d3c3
xor edx, edx
mov eax, dword [ebx + 0xd4]
add eax, dword [ebx + 0x98]
adc edx, dword [ebx + 0x9c]
mov dword [esp + 0x48], eax
mov dword [ebx + 0x98], eax
mov dword [esp + 0x4c], edx
mov dword [ebx + 0x9c], edx
jmp 0x47d3d7
mov dword [esp + 4], 7
mov dword [esp], ebx
call sym._Curl_pgrsTime
mov eax, dword [ebx + 0xfc]
test eax, eax
je 0x47d13b
call sym._Curl_now
mov esi, dword [esp + 0x44]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], edx
jmp 0x47d13b
lea eax, [esp + 0x6c]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov byte [esp + 0x6c], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
call sym._Curl_http_readwrite_headers
test eax, eax
jne 0x47cec7
mov eax, dword [edi + 0x508]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x47d635
cmp dword [ebx + 0x94], 0
jle 0x47db10
cmp byte [esp + 0x6c], 0
jne 0x47dde6
mov ecx, dword [ebx + 0xd8]
test ecx, ecx
je 0x47d030
test byte [ebx + 0x564], 1
jne 0x47d030
jmp 0x47d011
mov ebp, edi
and dword [ebx + 0x114], 0xfffffffe
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x48], 1
jmp 0x47d17b
mov dword [esp], ebp
call sym._Curl_pgrsUpdate
test eax, eax
jne 0x47cec2
test byte [ebx + 0x114], 0x33
mov eax, dword [esp + 0x98]
sete byte [eax]
add esp, 0x7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebx + 0xc0]
mov dword [esp + 8], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_timeleft
test edx, edx
jns 0x47d690
mov ecx, dword [ebx + 0x88]
mov ebp, dword [ebx + 0x8c]
mov edx, dword [ebx + 0xb6c]
mov esi, dword [ebx + 0x98]
mov edi, dword [ebx + 0x9c]
mov eax, ecx
mov dword [esp + 0x38], ecx
and eax, ebp
cmp eax, 0xffffffff
mov eax, dword [ebx + 0xb68]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x47dd00
call sym._Curl_timediff
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 4], str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 0x1c
jmp 0x47cec7
cdq
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x4c]
jmp 0x47d413
cmp edi, ecx
mov ebp, dword [esp + 0x90]
je 0x47d790
mov eax, dword [ebx + 0xc68]
mov dword [ebx + 0x120], ecx
mov edi, ecx
mov dword [ebx + 0x124], eax
lea esi, [esi]
mov eax, dword [ebp + 0x508]
test dword [eax + 0x40], 0x30000
jne 0x47dd2f
mov eax, dword [ebx + 0x120]
lea edx, [esp + 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0x124]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x524]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sym._Curl_write
test eax, eax
jne 0x47cec7
mov edi, dword [ebp + 0x524]
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], edi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
sub esp, 0x24
test eax, eax
jne 0x47d857
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x1001
mov dword [esp + 4], 0xffff
mov dword [esp], edi
call dword [sym.imp.WS2_32.dll_setsockopt]
sub esp, 0x14
test byte [ebx + 0xabf], 0x40
jne 0x47dd48
mov eax, dword [esp + 0x64]
cdq
add eax, dword [ebx + 0xa0]
adc edx, dword [ebx + 0xa4]
mov dword [ebx + 0xa0], eax
mov dword [ebx + 0xa4], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ebx
call sym._Curl_pgrsSetUploadCounter
movzx eax, word [ebx + 0x564]
and ax, 0x140
cmp ax, 0x40
je 0x47d8c2
mov eax, dword [ebx + 0xa0]
mov edx, dword [ebx + 0xa4]
xor eax, dword [ebx + 0xe38]
xor edx, dword [ebx + 0xe3c]
or edx, eax
je 0x47de1b
mov eax, dword [ebx + 0x120]
mov edx, dword [esp + 0x64]
cmp eax, edx
je 0x47dc39
sub eax, edx
add dword [ebx + 0x124], edx
mov dword [ebx + 0x120], eax
jmp 0x47d1bd
test al, 8
jne 0x47d954
mov ecx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x94]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
mov edx, dword [ebx + 0xd4]
je 0x47db7d
cmp eax, 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0
jge 0x47db71
mov dword [esp + 0xc], ecx
mov eax, dword [ebx + 0xc18]
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._Curl_client_write
test eax, eax
jne 0x47cec7
mov edx, dword [ebx + 0xc8]
cmp edx, 1
jbe 0x47dffe
mov dword [ebx + 0xc8], 0
jmp 0x47d030
xor eax, eax
jmp 0x47d365
mov eax, dword [ebx + 0x114]
test al, 0x20
jne 0x47d1bd
and eax, 0xfffffffd
mov dword [ebx + 0x114], eax
test byte [ebp + 0x4f2], 2
je 0x47d1bd
mov dword [esp], ebp
call sym._Curl_readrewind
test eax, eax
je 0x47d1bd
jmp 0x47cec7
test byte [ebp + 0x4f0], 1
je 0x47d199
mov dword [esp + 4], str.we_are_done_reading_and_this_is_set_to_close__stop_send_n
mov dword [esp], ebx
call sym._Curl_infof
and dword [ebx + 0x114], 0xfffffffd
jmp 0x47d199
mov edx, dword [ebx + 0x104]
test edx, edx
je 0x47d477
test al, 8
jne 0x47d95d
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._Curl_unencode_write
jmp 0x47d4ac
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [ebx + 0x88]
mov edx, dword [ebx + 0x8c]
mov dword [esp + 4], str.Excess_found_in_a_read:_excess___zu__size___I64d__maxdownload___I64d__bytecount___I64d_n
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
call sym._Curl_infof
mov edx, dword [ebx + 0x98]
mov ecx, dword [ebx + 0x9c]
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
jmp 0x47d4e8
mov edi, dword [esp + 0x44]
mov edx, dword [edi + 0x70]
mov eax, dword [edi + 0x6c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Curl_timediff
mov ecx, dword [ebx + 0xa8c]
mov edi, ecx
sar edi, 0x1f
cmp edx, edi
jl 0x47ceb2
jg 0x47dad4
cmp eax, ecx
jb 0x47ceb2
or dword [ebx + 0x114], 2
mov dword [ebx + 0xfc], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call sym._Curl_expire_done
mov dword [esp + 4], str.Done_waiting_for_100_continue_n
mov dword [esp], ebx
call sym._Curl_infof
jmp 0x47ceb2
jl 0x47db1f
cmp dword [ebx + 0x90], 0
ja 0x47d635
mov esi, dword [esp + 0x68]
test esi, esi
jle 0x47d635
lea esi, [esp + 0x64]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0xc], esi
lea esi, [esp + 0x68]
mov dword [esp + 8], esi
call eax
test eax, eax
jne 0x47cec7
cmp byte [esp + 0x64], 0
je 0x47d635
jmp 0x47d16d
mov dword [esp + 0x68], 0
xor eax, eax
xor edx, edx
jmp 0x47d4f5
jg 0x47db7d
cmp ecx, dword [esp + 0x48]
jb 0x47d928
mov dword [esp + 0xc], edx
jmp 0x47d92c
mov eax, dword [edi + 0x2a0]
and dword [ebx + 0x114], 0xfffffffe
test eax, eax
je 0x47d576
mov dword [esp + 8], eax
mov dword [esp + 4], str.Leftovers_after_chunking:__zu_bytes_n
mov eax, dword [edi]
mov dword [esp], eax
call sym._Curl_infof
jmp 0x47d576
mov ecx, dword [ebx + 0x8d0]
add ecx, dword [ebx + 0x110]
mov ebp, edi
mov edx, dword [esp + 0x68]
add edx, dword [ebx + 0xd8]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0x5c]
mov eax, ecx
sub eax, edx
add esi, edx
mov dword [ebx + 0xd8], edx
cmp ecx, esi
mov edx, eax
cmovae edx, dword [esp + 0x50]
mov dword [esp + 4], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x64]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x68]
mov dword [esp + 8], edx
call eax
test eax, eax
jne 0x47cec7
cmp byte [esp + 0x64], 0
je 0x47d173
or dword [ebx + 0x114], 1
jmp 0x47d173
mov eax, dword [ebx + 0xc24]
test eax, eax
je 0x47df06
test byte [ebx + 0x564], 4
mov dword [ebx + 0x124], eax
mov dword [ebx + 0x120], 0
je 0x47d1bd
and dword [ebx + 0x114], 0xfffffffd
test byte [ebp + 0x4f2], 2
je 0x47d1bd
jmp 0x47d9a4
sub eax, dword [esp + 0x38]
mov dword [esp + 4], str.transfer_closed_with__I64d_bytes_remaining_to_read
sbb edx, dword [esp + 0x3c]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym._Curl_failf
mov eax, 0x12
jmp 0x47cec7
cmp dword [eax + 0x1b0], 2
jne 0x47cd4b
and dword [ebx + 0x114], 0xfffffffd
mov dword [ebx + 0xfc], 1
call sym._Curl_now
mov edi, dword [esp + 0x44]
mov dword [edi + 0x6c], eax
mov dword [edi + 0x70], edx
mov dword [esp + 0xc], 0
mov eax, dword [ebx + 0xa8c]
mov dword [esp], ebx
mov dword [esp + 4], eax
sar eax, 0x1f
mov dword [esp + 8], eax
call sym._Curl_expire
mov dword [esp + 0x48], esi
jmp 0x47d1bd
call sym._Curl_timediff
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 0x1c
jmp 0x47cec7
mov dword [esp + 4], edi
mov dword [esp], ebp
call sym._Curl_smtp_escape_eob
test eax, eax
je 0x47d7a3
jmp 0x47cec7
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x124]
mov dword [esp + 4], 4
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._Curl_debug
jmp 0x47d864
mov eax, ebx
call sym._Curl_get_upload_buffer.part.1
test eax, eax
jne 0x47cec7
mov eax, dword [ebx + 0xc24]
jmp 0x47cd25
mov dword [esp + 4], 2
mov dword [esp], edi
call sym._Curl_conncontrol
mov eax, dword [esp + 0x98]
mov byte [eax], 1
mov eax, 8
jmp 0x47cec7
mov dword [esp + 0x48], ebp
mov ebp, edi
mov edi, dword [esp + 0x5c]
jmp 0x47d17b
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xd8]
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._Curl_client_write
jmp 0x47d4ac
mov eax, dword [esp + 0x68]
mov ebp, edi
mov edi, dword [esp + 0x5c]
test eax, eax
jle 0x47d173
mov edx, dword [ebx + 0xe70]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Excess_found:_excess___zd_url___s__zero_length_body__n
mov dword [esp], ebx
mov dword [esp + 0xc], edx
call sym._Curl_infof
jmp 0x47d173
or byte [ebx + 0x564], 4
mov dword [esp + 4], str.We_are_completely_uploaded_and_fine_n
mov dword [esp], ebx
call sym._Curl_infof
jmp 0x47d8c2
and edx, 8
jne 0x47d340
cmp eax, dword [ebx + 0x8c]
mov ebp, edi
mov edi, dword [esp + 0x5c]
je 0x47dfa9
mov dword [esp + 4], str.HTTP_server_doesnt_seem_to_support_byte_ranges._Cannot_resume.
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 0x21
jmp 0x47cec7
cmp eax, 6
mov ebp, edi
mov edi, dword [esp + 0x5c]
je 0x47df44
mov dword [esp], eax
call sym._Curl_chunked_strerror
mov dword [esp + 4], str._s_in_chunked_encoding
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 0x38
jmp 0x47cec7
mov eax, dword [ebx + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_meets_timecondition
test al, al
jne 0x47d358
mov eax, dword [esp + 0x98]
mov ebp, edi
mov edi, dword [esp + 0x5c]
mov byte [eax], 1
mov dword [ebx + 0xeb0], 0x130
mov dword [esp + 4], str.Simulate_a_HTTP_304_response__n
mov dword [esp], ebx
call sym._Curl_infof
mov dword [esp + 4], 1
mov dword [esp], ebp
call sym._Curl_conncontrol
mov dword [esp + 0x48], 1
jmp 0x47d199
mov eax, ebx
call sym._Curl_get_upload_buffer.part.1
test eax, eax
jne 0x47cec7
mov eax, dword [ebx + 0xc24]
jmp 0x47dc47
mov eax, dword [esp + 0x98]
mov ebp, edi
and dword [ebx + 0x114], 0xfffffffe
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x48], 1
mov byte [eax], 1
jmp 0x47d199
mov dword [esp + 4], str.Failed_reading_the_chunked_encoded_stream
mov dword [esp], ebx
call sym._Curl_failf
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x47cec7
mov dword [esp + 0x48], 1
jmp 0x47d199
mov eax, dword [ebx + 0x8d4]
add eax, eax
mov dword [esp], eax
call dword [0x5bcc30]
test eax, eax
mov dword [ebx + 0xc68], eax
je 0x47df8f
mov edx, eax
jmp 0x47cdc8
mov dword [esp + 4], str.Failed_to_alloc_scratch_buffer_
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 0x1b
jmp 0x47cec7
cmp ecx, dword [ebx + 0x88]
jne 0x47de52
mov dword [esp + 4], str.The_entire_document_is_already_downloaded
mov dword [esp], ebx
call sym._Curl_infof
mov dword [esp + 4], 1
mov dword [esp], ebp
call sym._Curl_conncontrol
mov eax, dword [esp + 0x98]
and dword [ebx + 0x114], 0xfffffffe
mov dword [esp + 0x48], 1
mov byte [eax], 1
jmp 0x47d199
mov eax, dword [ebx + 0x114]
jmp 0x47d98e
movzx eax, byte [ebx + 0x564]
jmp 0x47d468
mov eax, dword [esp + 0x48]
mov esi, eax
or eax, 2
mov dword [esp + 0x48], eax
jmp 0x47ccf7