Function at 0x51e390
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [0x7aa024]
xor eax, ebp
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x4f4]
mov dword [ebx + 0x4f4], 0
mov edx, dword [ecx + 0xf4]
mov edi, edx
and edi, 0x15
xor ecx, ecx
dec ecx
mov esi, ecx
cmp edi, 1
jne 0x51e3d8
mov esi, dword [ebx + 0x2b8]
and edx, 0x2a
cmp edx, 2
jne 0x51e3e6
mov ecx, dword [ebx + 0x2bc]
xor edx, edx
mov edi, dword [ebp + 0xc]
cmp dword [edi + 0xc58], 0
setne dl
or eax, edx
jne 0x51e409
xor edx, edx
push edx
push edx
push ecx
push 0xffffffffffffffff
push esi
call fcn.00514a00
add esp, 0x14
cmp eax, 4
jne 0x51e426
push str.select_poll_returned_error
push edi
call fcn.00515170
add esp, 8
mov edi, 0x37
jmp 0x51f37c
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xf4]
xor ebx, ebx
test al, 1
je 0x51eb9e
mov ecx, dword [esp + 0x28]
and ecx, 1
je 0x51eb9e
mov ecx, dword [ebp + 0x14]
lea esi, [esp + 0x44]
mov dword [esi], 0xffffffff
xor edx, edx
lea eax, [esp + 0x40]
mov byte [eax], dl
mov eax, dword [edi + 0x8fc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov byte [eax], dl
mov byte [ecx], dl
lea eax, [edi + 0xf8]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0x8ec]
mov dword [esp + 0x1c], eax
mov eax, 0x64
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov ebx, esi
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x4e8]
mov ecx, dword [edi + 0x80]
mov edx, dword [edi + 0x84]
mov esi, edi
mov edi, ecx
and edi, edx
cmp edi, 0xffffffff
je 0x51e4e2
cmp byte [esi + 0x13c], 0
mov edi, esi
jne 0x51e4e4
sub ecx, dword [edi + 0x90]
sbb edx, dword [edi + 0x94]
cmp ecx, eax
sbb edx, 0
cmovl eax, ecx
jmp 0x51e4e4
mov edi, esi
mov esi, ebx
test eax, eax
je 0x51e51d
push esi
push eax
push dword [esp + 0x1c]
mov eax, dword [ebp + 8]
push dword [eax + 0x2b8]
push edi
call fcn.00515a30
add esp, 0x14
cmp eax, 0x51
je 0x51eb35
mov edi, eax
mov dword [esp + 4], eax
test eax, eax
mov ebx, dword [ebp + 8]
jle 0x51e528
jmp 0x51f37c
mov dword [esp + 0x44], 0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne 0x51e56b
push 7
push edi
lea eax, [esp + 0x38]
push eax
call fcn.00514110
add esp, 0xc
cmp dword [edi + 0x108], 0
jle 0x51e56b
lea eax, [esp + 0x30]
push eax
call fcn.0051daf0
add esp, 4
movups xmm0, xmmword [esp + 0x30]
mov eax, dword [esp + 0x2c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x51e577
xor ecx, ecx
jmp 0x51e581
cmp dword [edi + 0x120], 0
sete cl
test eax, eax
jg 0x51e58d
test cl, cl
je 0x51eb1f
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x14]
mov byte [ecx + eax], 0
mov dword [edi + 0xe0], ecx
mov eax, dword [ebx + 0x2a0]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x51e5dd
call dword [section..00cfg]
lea eax, [esp + 0x40]
push eax
push esi
push ebx
push edi
call ecx
add esp, 0x10
test eax, eax
jne 0x51f156
mov dword [esp + 4], 0
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
jne 0x51eb2e
cmp byte [edi + 0x13c], 0
je 0x51e6d0
mov byte [esp + 0x30], 0
lea eax, [esp + 0x30]
push eax
push esi
push ebx
push edi
call fcn.00505c70
add esp, 0x10
xor edi, edi
inc edi
mov ecx, eax
mov dword [esp + 4], eax
test eax, eax
jne 0x51e6ad
mov eax, dword [ebx + 0x2a0]
mov ecx, dword [eax + 0x34]
test ecx, ecx
mov edi, dword [ebp + 0xc]
je 0x51e675
xor eax, eax
cmp eax, dword [edi + 0x88]
mov eax, 0
sbb eax, dword [edi + 0x8c]
jl 0x51e675
cmp dword [esp + 0x44], 0
jle 0x51e675
call dword [section..00cfg]
lea eax, [esp + 0x40]
push eax
push esi
push ebx
push edi
call ecx
add esp, 0x10
xor edi, edi
inc edi
mov ecx, eax
mov dword [esp + 4], eax
test eax, eax
jne 0x51e6ad
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0xc]
je 0x51e675
mov edi, 4
mov dword [esp + 4], 0
jmp 0x51e6a9
cmp byte [esp + 0x30], 0
je 0x51e6b6
mov eax, dword [esp + 0x44]
mov edi, 4
mov dword [esp + 4], 0
test eax, eax
jle 0x51e6a9
mov ecx, dword [ebp + 0xc]
push dword [ecx + 0xc88]
push eax
push str.Excess_found:_excess___zd_url___s__zero_length_body_
push ecx
call fcn.00514fc0
add esp, 0x10
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
jmp 0x51eab2
mov dword [esp + 4], 0
cmp byte [edi + 0x13c], 0
je 0x51e6d0
mov edx, dword [esp + 0xc]
jmp 0x51ea20
cmp dword [esp + 0x44], 0
setg al
mov ecx, dword [esp + 8]
or al, cl
cmp al, 1
jne 0x51e744
cmp byte [edi + 0x70f], 0
jne 0x51f121
mov eax, dword [edi + 0x120]
test eax, eax
mov edx, ecx
setne cl
or cl, dl
jne 0x51e74f
mov eax, dword [ebx + 0x2a0]
test dword [eax + 0x44], 0x40003
je 0x51e74d
mov eax, dword [ebp + 0x10]
push eax
push ebx
push edi
call fcn.00505210
add esp, 0xc
test eax, eax
jne 0x51f156
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
jne 0x51f11a
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x120]
mov dword [esp + 4], 0
jmp 0x51e74f
mov edx, dword [esp + 0xc]
jmp 0x51ea7e
xor eax, eax
inc eax
mov dword [edi + 0x120], eax
cmp byte [edi + 0x711], 0
je 0x51e7b3
cmp dword [edi + 0xd8], 0
je 0x51e79e
mov edi, dword [esp + 0x1c]
push edi
call fcn.004f47e0
add esp, 4
mov dword [esp + 0x24], eax
push edi
call fcn.004fd280
add esp, 4
push dword [esp + 0x24]
mov edi, dword [ebp + 0xc]
push eax
push 3
push edi
call fcn.005150d0
add esp, 0x10
cmp dword [edi + 0xd8], 1
jne 0x51e7b3
push dword [esp + 0x44]
push dword [edi + 0xe0]
push 3
push edi
call fcn.005150d0
add esp, 0x10
cmp byte [edi + 0x141], 0
je 0x51e80d
mov dword [esp + 0x30], 0xffffffff
lea eax, [esp + 0x30]
push eax
push esi
push dword [esp + 0x4c]
push dword [edi + 0xe0]
push edi
call fcn.005076f0
add esp, 0x14
test eax, eax
jg 0x51f1f1
cmp eax, 0xffffffff
jne 0x51e80d
and byte [edi + 0xf4], 0xfe
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov edx, eax
or edx, ecx
je 0x51e80d
push ecx
push eax
push str.Leftovers_after_chunking:___I64du_bytes
push edi
call fcn.00514fc0
add esp, 0x10
cmp dword [edi + 0xd8], 1
jne 0x51e838
cmp byte [edi + 0x13f], 0
jne 0x51e838
push dword [esp + 0x1c]
call fcn.004f47e0
add esp, 4
add dword [edi + 0x90], eax
adc dword [edi + 0x94], 0
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x8c]
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x51e889
mov esi, dword [edi + 0x90]
mov dword [esp + 0x24], edx
mov ebx, dword [edi + 0x94]
mov edx, dword [esp + 0x44]
mov edi, edx
sar edi, 0x1f
mov eax, esi
add eax, edx
mov dword [esp + 0x18], ebx
adc edi, ebx
mov ebx, dword [esp + 0x24]
cmp eax, ecx
sbb edi, ebx
jge 0x51e8a1
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x18]
jmp 0x51e921
mov edx, dword [esp + 0x44]
mov esi, dword [edi + 0x90]
mov eax, dword [edi + 0x94]
mov ebx, dword [ebp + 8]
jmp 0x51e921
sub eax, ecx
mov dword [esp + 0xc], eax
je 0x51e8ba
mov edi, dword [ebp + 0xc]
cmp byte [edi + 0x13f], 0
je 0x51e8c6
mov ebx, dword [ebp + 8]
jmp 0x51e8c0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x18]
jmp 0x51e908
push dword [esp + 0x18]
push esi
push ebx
push ecx
push dword [edi + 0x84]
push dword [edi + 0x80]
push eax
push str.Excess_found_in_a_read:_excess___zu__size___I64d__maxdownload___I64d__bytecount___I64d
push edi
call fcn.00514fc0
add esp, 0x24
push 1
mov ebx, dword [ebp + 8]
push ebx
call fcn.004f7600
add esp, 8
mov ecx, dword [edi + 0x88]
mov eax, dword [edi + 0x94]
mov esi, dword [edi + 0x90]
sub ecx, esi
test ecx, ecx
mov edx, 0
cmovle ecx, edx
mov dword [esp + 0x44], ecx
and byte [edi + 0xf4], 0xfe
mov edx, ecx
mov ecx, edx
sar ecx, 0x1f
add esi, edx
adc ecx, eax
mov dword [edi + 0x90], esi
mov dword [edi + 0x94], ecx
push ecx
push esi
push edi
call fcn.00514560
add esp, 0xc
cmp byte [edi + 0x141], 0
je 0x51e95b
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
lea esi, [esp + 0x44]
jmp 0x51ea7e
mov eax, dword [edi + 0xd8]
mov ecx, dword [esp + 0x44]
or ecx, eax
setne cl
or cl, byte [esp + 8]
cmp cl, 1
mov edx, dword [esp + 0xc]
lea esi, [esp + 0x44]
jne 0x51ea20
test eax, eax
je 0x51e9f5
cmp byte [edi + 0x13f], 0
jne 0x51e9f0
push dword [esp + 0x1c]
call fcn.004f47e0
add esp, 4
mov ecx, edi
mov edi, dword [edi + 0x88]
mov ecx, dword [ecx + 0x8c]
mov edx, edi
and edx, ecx
cmp edi, eax
sbb ecx, 0
cmovge edi, eax
cmp edx, 0xffffffff
cmove edi, eax
push dword [esp + 0x1c]
call fcn.004fd280
add esp, 4
push edi
push eax
push 1
push dword [ebp + 0xc]
call fcn.00515700
add esp, 0x10
test eax, eax
jne 0x51f156
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xd8]
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc]
cmp eax, 1
jg 0x51ea5a
cmp byte [edi + 0x71a], 0
je 0x51ea26
cmp byte [edi + 0x13f], 0
jne 0x51ea5a
mov eax, dword [esp + 0x44]
test eax, eax
je 0x51ea5a
push eax
push dword [edi + 0xe0]
push 1
push edi
call fcn.00515700
jmp 0x51ea4f
mov ecx, dword [esp + 8]
jmp 0x51ea7e
mov eax, dword [edi + 0x110]
test eax, eax
je 0x51e9fe
cmp byte [edi + 0x13f], 0
jne 0x51ea5a
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x51ea5a
push ecx
push dword [edi + 0xe0]
push eax
push edi
call fcn.004f7750
mov edx, dword [esp + 0x1c]
add esp, 0x10
mov dword [esp + 4], eax
mov eax, edi
mov edi, dword [esp + 4]
mov dword [eax + 0xd8], 0
mov dword [esp + 4], 0
test edi, edi
mov ecx, dword [esp + 8]
jne 0x51f37c
mov eax, dword [ebx + 0x2a0]
cmp dword [eax + 0x34], 0
je 0x51ea92
test edx, edx
jne 0x51f073
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0xf4]
test cl, cl
je 0x51eaa8
and edi, 0xfffffffe
mov dword [eax + 0xf4], edi
shr edi, 2
and edi, 4
mov dword [esp + 0xc], edx
test edi, edi
jne 0x51eafa
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x2a0]
mov ecx, dword [ecx + 0x44]
test cl, 0xc
je 0x51eadb
push 1
push eax
call fcn.0052f8d0
add esp, 8
test al, al
jne 0x51eae0
jmp 0x51eb2e
test cl, 0x30
je 0x51eaf6
xor ebx, ebx
inc ebx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
jb 0x51e49e
jmp 0x51eb42
push 0
jmp 0x51eacc
xor ebx, ebx
inc ebx
mov dword [esp + 8], ebx
cmp edi, 4
mov edi, dword [ebp + 0xc]
je 0x51eb35
mov eax, dword [esp + 0x20]
mov edi, eax
test eax, eax
mov eax, dword [ebp + 0x10]
jne 0x51f37c
xor ebx, ebx
inc ebx
jmp 0x51eb8a
mov eax, dword [edi + 0xf4]
and eax, 0xfffffffe
mov dword [edi + 0xf4], eax
xor ebx, ebx
inc ebx
mov dword [esp + 8], ebx
cmp dword [esp + 0x10], 0
mov ebx, dword [esp + 8]
jg 0x51eb58
jmp 0x51eb45
xor ebx, ebx
inc ebx
mov eax, dword [ebp + 8]
mov dword [eax + 0x4f4], 1
mov eax, dword [ebp + 0x14]
mov byte [eax], 1
mov eax, dword [edi + 0xf4]
and eax, 3
cmp eax, 2
jne 0x51eb87
mov eax, dword [ebp + 8]
cmp byte [eax + 0x25d], 0
je 0x51eb87
push str.we_are_done_reading_and_this_is_set_to_close__stop_send
push edi
call fcn.00514fc0
add esp, 8
and byte [edi + 0xf4], 0xfd
mov eax, dword [ebp + 0x10]
xor edi, edi
cmp byte [eax], 0
jne 0x51f37c
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xf4]
test al, 2
je 0x51ef0e
and dword [esp + 0x28], 2
je 0x51ef0e
mov dword [esp + 0x40], 0xffffffff
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
jne 0x51ebe5
mov eax, dword [edi + 0x98]
or eax, dword [edi + 0x9c]
jne 0x51ebe5
lea eax, [esp + 0x30]
push 7
push edi
push eax
call fcn.00514110
add esp, 0xc
mov esi, ebx
or esi, 2
mov ecx, dword [edi + 0x12c]
test ecx, ecx
je 0x51ecd1
lea eax, [esp + 0x40]
push eax
push ecx
push dword [edi + 0x130]
mov ebx, dword [ebp + 8]
push dword [ebx + 0x2bc]
push edi
call fcn.005152b0
add esp, 0x14
mov edi, eax
test eax, eax
jne 0x51f37c
mov dword [esp + 4], esi
mov edi, dword [ebx + 0x2bc]
xor eax, eax
dec eax
lea ebx, [esp + 0x30]
mov dword [ebx], eax
lea ecx, [esp + 0x44]
mov dword [ecx], eax
xor eax, eax
push eax
push eax
push ecx
push 4
push ebx
push eax
push eax
push 0x4004747b
push edi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
jne 0x51ec67
push 4
push ebx
push 0x1001
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0xb4]
mov edi, dword [esp + 0x40]
mov edx, ecx
mov ebx, edi
sar ebx, 0x1f
or edx, eax
je 0x51edea
cmp ecx, edi
mov edx, edi
cmovb edx, ecx
cmp eax, ebx
cmovl edi, ecx
cmove edi, edx
cmovl ebx, eax
push edi
push dword [esi + 0x130]
push 2
push esi
call fcn.005150d0
add esp, 0x10
sub dword [esi + 0xb0], edi
mov edx, ebx
sbb dword [esi + 0xb4], ebx
mov eax, dword [esp + 0x40]
mov ebx, eax
sar ebx, 0x1f
mov ecx, eax
sub ecx, edi
sbb ebx, edx
mov edi, ecx
jmp 0x51edec
mov eax, ebx
mov eax, dword [edi + 0x900]
test eax, eax
jne 0x51ed09
mov ecx, dword [fcn.005f2b30]
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x4ec]
call dword [section..00cfg]
push edi
mov edi, dword [ebp + 0xc]
call ecx
add esp, 4
mov dword [edi + 0x900], eax
test eax, eax
je 0x51f377
mov dword [edi + 0x130], eax
cmp byte [edi + 0x13e], 0
je 0x51ed57
mov eax, dword [edi + 0xf4]
test al, 0x20
jne 0x51ef09
mov ecx, dword [edi + 0xc]
and eax, 0xfffffffd
mov dword [edi + 0xf4], eax
cmp byte [ecx + 0x26a], 0
je 0x51ef09
push edi
call fcn.0051e180
add esp, 4
mov edi, eax
test eax, eax
jne 0x51f37c
jmp 0x51ef09
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [edi + 0x134]
cmp dword [edi + 0x108], 2
jne 0x51edc5
cmp dword [eax + 0x1a0], 2
jne 0x51edc5
mov dword [edi + 0x108], 1
and byte [edi + 0xf4], 0xfd
mov esi, edi
lea edi, [esp + 0x30]
push edi
call fcn.0051daf0
add esp, 4
movups xmm0, xmmword [edi]
movups xmmword [esi + 0xf8], xmm0
mov edi, ebx
and edi, 0xfffffffd
mov eax, dword [esi + 0x6c8]
mov ecx, eax
sar ecx, 0x1f
push 0
push ecx
push eax
push esi
call fcn.0050e4e0
add esp, 0x10
mov esi, edi
jmp 0x51ef09
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x2a0]
test dword [ecx + 0x44], 0x40003
je 0x51f13c
cmp dword [eax + 0x1a0], 1
sete bl
jmp 0x51f13e
mov eax, edi
mov ecx, edi
or ecx, ebx
mov esi, dword [ebp + 0xc]
je 0x51ee2d
sub eax, edi
add eax, dword [esi + 0x130]
push edi
push eax
push 4
push esi
call fcn.005150d0
add esp, 0x10
add edi, dword [esi + 0x98]
adc ebx, dword [esi + 0x9c]
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], ebx
push ebx
push edi
push esi
call fcn.00514580
add esp, 0xc
cmp byte [esi + 0x143], 0
je 0x51ee3f
cmp byte [esi + 0x145], 0
je 0x51ee70
mov eax, dword [esi + 0x9c]
xor eax, dword [esi + 0xc54]
mov ecx, dword [esi + 0x98]
xor ecx, dword [esi + 0xc50]
or ecx, eax
jne 0x51ee70
mov byte [esi + 0x13e], 1
push str.We_are_completely_uploaded_and_fine
push esi
call fcn.00514fc0
add esp, 8
mov ecx, dword [esi + 0x12c]
mov eax, dword [esp + 0x40]
sub ecx, eax
jne 0x51eef9
mov eax, dword [esi + 0x900]
test eax, eax
jne 0x51eeb4
mov ecx, dword [fcn.005f2b30]
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x4ec]
call dword [section..00cfg]
push edi
mov esi, dword [ebp + 0xc]
call ecx
add esp, 4
mov dword [esi + 0x900], eax
test eax, eax
je 0x51f377
mov dword [esi + 0x130], eax
mov dword [esi + 0x12c], 0
cmp byte [esi + 0x13e], 0
je 0x51ef05
mov eax, dword [esi + 0xc]
and byte [esi + 0xf4], 0xfd
cmp byte [eax + 0x26a], 0
je 0x51ef05
push esi
call fcn.0051e180
add esp, 4
mov edi, eax
test eax, eax
mov esi, dword [esp + 4]
jne 0x51f37c
jmp 0x51ef09
mov dword [esi + 0x12c], ecx
add dword [esi + 0x130], eax
mov esi, dword [esp + 4]
mov ebx, esi
mov edi, dword [ebp + 0xc]
lea eax, [edi + 0xc8]
mov dword [esp + 4], eax
lea edi, [esp + 0x30]
push edi
call fcn.0051daf0
add esp, 4
movups xmm0, xmmword [edi]
mov esi, dword [ebp + 0xc]
movups xmmword [esi + 0xc8], xmm0
test ebx, ebx
jne 0x51ef9c
cmp dword [esi + 0x108], 1
jne 0x51ef9c
sub esp, 0x20
movups xmm0, xmmword [esi + 0xf8]
movups xmmword [esp + 0x10], xmm0
mov eax, dword [esp + 0x24]
movups xmm0, xmmword [eax]
movups xmmword [esp], xmm0
call fcn.0051dbd0
add esp, 0x20
mov ecx, dword [esi + 0x6c8]
mov edi, ecx
sar edi, 0x1f
cmp eax, ecx
sbb edx, edi
mov esi, dword [ebp + 0xc]
jl 0x51ef9c
xor eax, eax
mov dword [esi + 0x108], eax
or byte [esi + 0xf4], 2
push eax
push esi
call fcn.00511d90
add esp, 8
push str.Done_waiting_for_100_continue
push esi
call fcn.00514fc0
add esp, 8
push esi
call fcn.00513200
add esp, 4
mov edi, 0x2a
test eax, eax
jne 0x51f37c
sub esp, 0x14
mov ebx, dword [esp + 0x18]
movups xmm0, xmmword [ebx]
movups xmmword [esp + 4], xmm0
mov dword [esp], esi
call fcn.0051c010
add esp, 0x14
mov edi, eax
test eax, eax
jne 0x51f37c
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0xf4], 0
je 0x51f0e7
push 0
push ebx
push esi
call fcn.004f5340
mov eax, dword [ebp + 0x10]
add esp, 0xc
test edx, edx
jns 0x51f10d
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi + 0x80]
mov edi, dword [esi + 0x84]
mov eax, ebx
mov dword [esp + 8], ecx
mov ebx, ecx
and ebx, edi
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
sub esp, 0x20
movups xmm0, xmmword [esi + 0x7d8]
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp], xmm0
call fcn.0051dbd0
add esp, 0x20
cmp ebx, 0xffffffff
je 0x51f20d
push edi
push dword [esp + 0xc]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.00515170
add esp, 0x20
jmp 0x51f225
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xe0]
add eax, dword [esp + 0x44]
mov dword [edi + 0xe0], eax
mov esi, edx
mov edx, dword [esp + 0x14]
add edx, dword [edi + 0x4e8]
mov ecx, edx
sub ecx, eax
add eax, esi
cmp eax, edx
cmovbe ecx, esi
mov dword [esp + 0x44], ecx
mov eax, dword [ebx + 0x2a0]
mov ecx, dword [eax + 0x34]
call dword [section..00cfg]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call ecx
add esp, 0x10
mov edi, eax
test eax, eax
jne 0x51f37c
cmp byte [esp + 0x40], 0
je 0x51f22f
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0xf4]
or eax, 1
jmp 0x51eb28
cmp byte [esi + 0x70f], 0
je 0x51f186
push esi
call fcn.00513200
add esp, 4
mov edi, 0x2a
test eax, eax
mov eax, dword [ebp + 0x10]
jne 0x51f37c
mov ecx, dword [ebp + 0xc]
test byte [ecx + 0xf4], 0x33
sete byte [eax]
xor edi, edi
jmp 0x51f37c
push 2
push ebx
call fcn.004f7600
add esp, 8
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
mov edi, 8
jmp 0x51f37c
xor ebx, ebx
lea eax, [esp + 0x44]
push eax
push dword [edi + 0x4ec]
push edi
call fcn.0051dd50
add esp, 0xc
test eax, eax
je 0x51f15d
mov edi, eax
jmp 0x51f37c
mov ecx, edi
mov edx, dword [esp + 0x44]
test edx, edx
je 0x51ed18
jle 0x51f260
mov dword [edi + 0x12c], edx
test bl, bl
je 0x51f26b
mov ecx, edx
jmp 0x51ebf8
mov edi, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
mov edx, edi
and edx, ecx
cmp edx, 0xffffffff
je 0x51f1c4
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x94]
mov ebx, ecx
mov dword [esp + 4], eax
xor ebx, eax
mov eax, edi
xor eax, edx
or eax, ebx
je 0x51f1c4
cmp dword [esi + 0x128], 0
je 0x51f335
cmp byte [esi + 0x141], 0
je 0x51f0f4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 4
je 0x51f0f4
push str.transfer_closed_with_outstanding_read_data_remaining
push esi
call fcn.00515170
add esp, 8
jmp 0x51f34b
cmp eax, 6
jne 0x51f23e
push str.Failed_reading_the_chunked_encoded_stream
push edi
call fcn.00515170
add esp, 8
mov eax, dword [esp + 0x30]
jmp 0x51eb0d
push dword [esp + 0x14]
push dword [esp + 0x14]
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push esi
call fcn.00515170
add esp, 0x18
mov edi, 0x1c
jmp 0x51f37c
xor ebx, ebx
inc ebx
mov dword [esp + 8], ebx
mov edi, dword [ebp + 0xc]
jmp 0x51eb35
push eax
call fcn.00507b00
add esp, 4
push eax
push str._s_in_chunked_encoding
push edi
call fcn.00515170
add esp, 0xc
mov eax, 0x38
jmp 0x51eb0d
mov eax, dword [edi + 0xf4]
jmp 0x51ed26
cmp byte [edi + 0x6fe], 0
je 0x51f17f
cmp dword [edi + 0x968], 0
mov dword [esp + 0x10], edx
jne 0x51f2ad
mov ecx, dword [fcn.005f2b30]
mov ebx, dword [edi + 0x4ec]
add ebx, ebx
call dword [section..00cfg]
push ebx
call ecx
add esp, 4
mov dword [edi + 0x968], eax
test eax, eax
je 0x51f369
xor ecx, ecx
xor eax, eax
mov dword [esp + 4], esi
mov edx, dword [edi + 0x130]
mov dl, byte [edx + eax]
mov ebx, dword [edi + 0x968]
cmp dl, 0xa
jne 0x51f315
lea edx, [ecx + 1]
mov byte [ebx + ecx], 0xd
mov ebx, dword [edi + 0x968]
mov byte [ebx + ecx + 1], 0xa
cmp byte [edi + 0x6fe], 0
jne 0x51f31a
mov esi, edi
mov edi, dword [edi + 0xc50]
mov ebx, dword [esi + 0xc54]
mov ecx, edi
and ecx, ebx
cmp ecx, 0xffffffff
je 0x51f30d
add edi, 1
adc ebx, 0
mov dword [esi + 0xc50], edi
mov dword [esi + 0xc54], ebx
mov edi, esi
mov esi, dword [esp + 4]
jmp 0x51f31a
mov byte [ebx + ecx], dl
mov edx, ecx
inc eax
mov ecx, edx
inc ecx
mov edx, dword [esp + 0x10]
cmp edx, eax
jne 0x51f2b5
cmp ecx, edx
jne 0x51f352
mov ecx, dword [edi + 0x12c]
jmp 0x51ebf8
sub edi, edx
sbb ecx, dword [esp + 4]
push ecx
push edi
push str.transfer_closed_with__I64d_bytes_remaining_to_read
push esi
call fcn.00515170
add esp, 0x10
mov edi, 0x12
jmp 0x51f37c
mov eax, dword [edi + 0x968]
mov dword [edi + 0x130], eax
mov dword [edi + 0x12c], ecx
jmp 0x51ebf8
push str.Failed_to_alloc_scratch_buffer_
push edi
call fcn.00515170
add esp, 8
mov edi, 0x1b
mov ecx, dword [esp + 0x48]
xor ecx, ebp
call fcn.0064d372
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret