Function at 0x4d8131
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
movzx eax, byte [edi + 0xd0f]
test eax, eax
je 0x4d817d
test al, 1
je 0x4d8161
xor edx, edx
test byte [edi + 0xe4], 0x10
jne 0x4d9022
test al, 2
je 0x4d8174
xor edx, edx
test byte [edi + 0xe4], 0x20
jne 0x4d9022
mov byte [edi + 0xd0f], 0
jmp 0x4d81cd
movzx eax, byte [ecx + 0x28c]
test eax, eax
je 0x4d8191
mov byte [ecx + 0x28c], 0
jmp 0x4d81cd
mov edx, dword [edi + 0xe4]
mov esi, edx
and esi, 0x15
xor ecx, ecx
dec ecx
mov eax, ecx
cmp esi, 1
mov esi, dword [ebp + 8]
jne 0x4d81af
mov eax, dword [esi + 0x200]
and edx, 0x2a
cmp edx, 2
jne 0x4d81bd
mov ecx, dword [esi + 0x204]
xor edx, edx
push edx
push edx
push ecx
push 0xffffffffffffffff
push eax
call fcn.004d9f02
add esp, 0x14
cmp eax, 4
jne 0x4d81ea
push str.select_poll_returned_error
push edi
call fcn.004abf08
add esp, 8
mov edx, 0x37
jmp 0x4d9022
mov esi, dword [ebp + 0x10]
mov edx, dword [edi + 0xe4]
mov dword [esp + 0x30], eax
mov ecx, eax
and ecx, edx
test cl, 1
je 0x4d88da
xor ecx, ecx
lea eax, [esp + 0x20]
mov byte [eax], cl
mov eax, dword [edi + 0x228]
mov ecx, dword [edi + 0x22c]
xor ebx, ebx
dec ebx
mov edx, eax
or edx, ecx
mov edx, bind
cmovne edx, ecx
mov dword [esp + 0x28], edx
cmovne ebx, eax
mov dword [esp + 0x1c], ebx
mov eax, dword [edi + 0x878]
mov dword [esp + 0xc], eax
xor ecx, ecx
mov byte [esi], cl
mov eax, dword [ebp + 0x14]
mov byte [eax], cl
lea eax, [edi + 0xe8]
mov dword [esp + 0x54], eax
lea eax, [edi + 0x868]
mov dword [esp + 0x34], eax
mov eax, 0x64
xor ebx, ebx
mov dword [esp + 0x24], 0
xor edx, edx
mov dword [esp + 4], ebx
mov ebx, edx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x4a8]
mov ecx, dword [edi + 0x88]
mov edx, dword [edi + 0x8c]
mov esi, edi
mov edi, ecx
and edi, edx
cmp edi, 0xffffffff
je 0x4d82b2
cmp byte [esi + 0x14a], 0
mov edi, esi
jne 0x4d82b4
sub ecx, dword [edi + 0x98]
sbb edx, dword [edi + 0x9c]
cmp ecx, eax
sbb edx, 0
cmovl eax, ecx
jmp 0x4d82b4
mov edi, esi
mov esi, dword [ebp + 8]
test eax, eax
je 0x4d82e8
lea ecx, [esp + 0x10]
push ecx
push eax
push dword [esp + 0x14]
push dword [esi + 0x200]
push edi
call fcn.004bb766
add esp, 0x14
cmp eax, 0x51
je 0x4d8b60
mov edx, eax
test eax, eax
jle 0x4d82f4
jmp 0x4d9022
mov edx, ebx
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ebx, edx
mov eax, dword [edi + 0x98]
mov esi, edi
or eax, dword [edi + 0x9c]
jne 0x4d833c
push 7
mov edi, esi
push esi
lea eax, [esp + 0x40]
push eax
call fcn.004d5fdf
add esp, 0xc
cmp dword [esi + 0xf8], 0
jle 0x4d833c
lea eax, [esp + 0x38]
push eax
call fcn.004bd0ac
add esp, 4
movdqu xmm0, xmmword [esp + 0x38]
mov eax, dword [esp + 0x54]
movdqu xmmword [eax], xmm0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, eax
or edx, ecx
je 0x4d8354
mov dword [esp + 4], 0
jmp 0x4d8362
cmp dword [esi + 0x110], 0
sete dl
mov dword [esp + 4], edx
mov edx, eax
neg edx
mov edx, 0
sbb edx, ecx
jl 0x4d8376
cmp byte [esp + 4], 0
je 0x4d837e
mov edx, dword [esp + 0xc]
mov byte [edx + eax], 0
or eax, ecx
jne 0x4d8397
mov dword [esi + 0xe4], 0
cmp byte [esp + 4], 0
je 0x4d8cd0
mov eax, dword [esp + 0xc]
mov edi, esi
mov dword [esi + 0xd4], eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x1e4]
mov eax, dword [eax + 0x34]
test eax, eax
mov edx, ebx
mov ebx, 1
je 0x4d83e0
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
push ecx
push esi
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x4d9020
xor edx, edx
cmp byte [esp + 0x20], 0
jne 0x4d8b9b
cmp byte [edi + 0x14a], 0
je 0x4d847c
mov byte [esp + 0x38], 0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x14]
push eax
push esi
push edi
call fcn.004d4007
add esp, 0x10
test eax, eax
jne 0x4d9020
mov eax, dword [esi + 0x1e4]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4d8462
xor ecx, ecx
cmp ecx, dword [edi + 0x90]
mov ecx, 0
sbb ecx, dword [edi + 0x94]
jl 0x4d8462
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x10], 1
sbb ecx, 0
jl 0x4d8462
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
push ecx
push esi
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x4d9020
cmp byte [esp + 0x20], 0
jne 0x4d8b99
cmp byte [esp + 0x38], 0
jne 0x4d8b68
xor edx, edx
cmp byte [edi + 0x14a], 0
jne 0x4d8840
xor eax, eax
cmp eax, dword [esp + 0x10]
mov eax, 0
sbb eax, dword [esp + 0x14]
setl al
or al, byte [esp + 4]
cmp al, 1
jne 0x4d8840
cmp byte [edi + 0x154], 0
jne 0x4d8f87
mov eax, dword [edi + 0x110]
test eax, eax
setne cl
or cl, byte [esp + 4]
jne 0x4d84f0
mov eax, dword [esi + 0x1e4]
test dword [eax + 0x44], 0x40003
je 0x4d84ee
mov ebx, dword [ebp + 0x10]
push ebx
push esi
push edi
call fcn.004d347b
add esp, 0xc
test eax, eax
jne 0x4d9020
cmp byte [ebx], 0
jne 0x4d8fcb
mov eax, dword [edi + 0x110]
jmp 0x4d84f0
xor eax, eax
inc eax
mov dword [edi + 0x110], eax
cmp byte [edi + 0x68b], 0
je 0x4d854f
cmp dword [edi + 0xcc], 0
je 0x4d853a
mov ebx, dword [esp + 0x34]
push ebx
call fcn.004b6f3c
add esp, 4
mov esi, eax
push ebx
call fcn.004b6f2e
add esp, 4
push esi
mov esi, dword [ebp + 8]
push eax
push 3
push edi
call fcn.004abe6c
add esp, 0x10
cmp dword [edi + 0xcc], 1
jne 0x4d854f
push dword [esp + 0x10]
push dword [edi + 0xd4]
push 3
push edi
call fcn.004abe6c
add esp, 0x10
cmp byte [edi + 0x14f], 0
je 0x4d858a
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push dword [edi + 0xd4]
push edi
call fcn.004dbe92
add esp, 0x18
test eax, eax
jg 0x4d8fcf
cmp eax, 0xffffffff
je 0x4d87ba
cmp dword [edi + 0xcc], 1
jne 0x4d85b5
cmp byte [edi + 0x14d], 0
jne 0x4d85b5
push dword [esp + 0x34]
call fcn.004b6f3c
add esp, 4
add dword [edi + 0x98], eax
adc dword [edi + 0x9c], 0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
movdqu xmm0, xmmword [edi + 0x90]
pextrd edx, xmm0, 1
movd eax, xmm0
mov ecx, eax
and ecx, edx
pextrd ebx, xmm0, 3
mov esi, dword [esp + 0x14]
pextrd edi, xmm0, 2
cmp ecx, 0xffffffff
je 0x4d8613
mov dword [esp + 0x48], edi
mov ecx, edi
add ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, ebx
adc eax, esi
mov dword [esp + 0x50], edi
cmp ecx, edi
mov dword [esp + 0x4c], edx
sbb eax, edx
jge 0x4d861c
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
jmp 0x4d86b9
mov edx, dword [esp + 0x2c]
jmp 0x4d86b9
mov edx, dword [esp + 0x50]
sub ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
je 0x4d867e
cmp byte [ecx + 0x14d], 0
jne 0x4d867e
mov esi, ecx
cmp byte [ecx + 0x68b], 0
je 0x4d8667
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x54]
push edx
push dword [esi + 0x8c]
push dword [esi + 0x88]
push dword [esp + 0x3c]
push str.Excess_found_in_a_read:_excess___zu__size___I64d__maxdownload___I64d__bytecount___I64d
push esi
call fcn.004abf96
add esp, 0x24
push 1
push dword [ebp + 8]
call fcn.004bbbc5
add esp, 8
mov ecx, esi
movdqu xmm0, xmmword [esi + 0x90]
pextrd ebx, xmm0, 3
pextrd edi, xmm0, 2
pshufd xmm1, xmm0, 0xee
psubq xmm0, xmm1
pextrd esi, xmm0, 1
movd edx, xmm0
test esi, esi
mov eax, 0
cmovs edx, eax
cmovle esi, eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
and byte [ecx + 0xe4], 0xfe
add edi, edx
adc ebx, esi
sub dword [esp + 0x1c], edx
sbb dword [esp + 0x28], esi
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x98], edi
mov dword [eax + 0x9c], ebx
push ebx
push edi
mov edi, eax
push eax
call fcn.004d6248
add esp, 0xc
test eax, eax
jne 0x4d9020
xor edx, edx
cmp byte [edi + 0x14f], 0
je 0x4d86ff
mov esi, dword [ebp + 8]
xor ebx, ebx
inc ebx
jmp 0x4d8840
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, edi
mov dword [esp + 0x2c], edx
mov edi, edx
or edi, ecx
mov edx, dword [eax + 0xcc]
or edi, edx
setne bl
or bl, byte [esp + 4]
cmp bl, 1
mov esi, dword [ebp + 8]
jne 0x4d87f3
mov bl, byte [eax + 0x14d]
test edx, edx
mov edi, eax
je 0x4d87fc
test bl, bl
mov ebx, 1
jne 0x4d879c
push dword [esp + 0x34]
call fcn.004b6f3c
add esp, 4
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + 0x90]
mov ecx, dword [ecx + 0x94]
mov edx, edi
and edx, ecx
cmp edi, eax
sbb ecx, 0
cmovge edi, eax
cmp edx, 0xffffffff
cmove edi, eax
push dword [esp + 0x34]
call fcn.004b6f2e
add esp, 4
push edi
mov edi, dword [ebp + 0xc]
push eax
push 1
push edi
call fcn.004bb2ce
add esp, 0x10
test eax, eax
jne 0x4d9020
mov edx, dword [edi + 0xcc]
cmp edx, 1
mov edx, 0
jg 0x4d8836
mov bl, byte [edi + 0x14d]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x4d8802
and byte [edi + 0xe4], 0xfe
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov edx, eax
or edx, ecx
je 0x4d858a
cmp byte [edi + 0x68b], 0
je 0x4d858a
push ecx
push eax
push str.Leftovers_after_chunking:___I64du_bytes
push edi
call fcn.004abf96
add esp, 0x10
jmp 0x4d858a
mov edi, eax
xor ebx, ebx
inc ebx
xor edx, edx
jmp 0x4d8840
xor edx, edx
mov eax, dword [esp + 0x2c]
test bl, bl
mov ebx, 1
jne 0x4d8836
or ecx, eax
je 0x4d8836
push eax
push dword [edi + 0xd4]
push 1
push edi
call fcn.004bb2ce
xor edx, edx
add esp, 0x10
mov dword [edi + 0xcc], 0
test eax, eax
je 0x4d8840
jmp 0x4d9020
mov dword [edi + 0xcc], 0
mov eax, dword [esi + 0x1e4]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4d8858
cmp dword [esp + 0x24], 0
jne 0x4d8af1
mov eax, dword [edi + 0xe4]
cmp byte [esp + 4], 0
je 0x4d886e
and eax, 0xfffffffe
mov dword [edi + 0xe4], eax
and eax, 0x11
cmp eax, 1
jne 0x4d8b9b
cmp dword [esp + 0x1c], 1
mov eax, dword [esp + 0x28]
sbb eax, 0
jl 0x4d8baf
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0x1e4]
mov eax, dword [eax + 0x44]
mov ecx, ebx
test al, 0xc
je 0x4d88c0
push ecx
push edi
mov edi, esi
mov esi, ebx
mov ebx, edx
call fcn.004bad81
mov edx, ebx
mov ebx, esi
mov esi, edi
mov edi, dword [ebp + 0xc]
add esp, 8
test al, al
jne 0x4d88c4
jmp 0x4d8b9b
test al, 0x30
je 0x4d88d6
mov eax, dword [esp + 8]
add eax, 0xffffffff
jb 0x4d826a
jmp 0x4d8b5b
xor ecx, ecx
jmp 0x4d889e
xor ebx, ebx
mov ecx, dword [esp + 0x30]
and ecx, edx
test cl, 2
je 0x4d8e14
mov dword [esp + 4], ebx
mov eax, ebx
or eax, 2
mov dword [esp + 0xc], eax
mov ebx, dword [edi + 0x120]
mov esi, dword [edi + 0x124]
mov eax, ebx
or eax, esi
je 0x4d8a7a
mov eax, dword [edi + 0x4ac]
shr eax, 5
cmp ebx, eax
mov eax, esi
sbb eax, 0
jge 0x4d8962
cmp byte [edi + 0x151], 0
jne 0x4d8962
cmp byte [edi + 0x14c], 0
jne 0x4d8962
mov eax, dword [edi + 0xa0]
add eax, ebx
mov ecx, dword [edi + 0xa4]
adc ecx, esi
sub eax, dword [edi + 0xa8]
sbb ecx, dword [edi + 0xac]
xor ecx, dword [edi + 0xc34]
xor eax, dword [edi + 0xc30]
or eax, ecx
jne 0x4d8a7a
mov esi, ebx
lea eax, [esp + 0x10]
push eax
push esi
push dword [edi + 0x128]
mov eax, dword [ebp + 8]
push dword [eax + 0x204]
push edi
call fcn.004bb262
add esp, 0x14
mov edx, eax
test eax, eax
jne 0x4d9022
lea esi, [esp + 0x38]
push esi
call fcn.004bd0ac
sub esp, 0x1c
movups xmm0, xmmword [edi + 0x138]
movups xmmword [esp + 0x10], xmm0
movdqu xmm0, xmmword [esi]
movdqu xmmword [esp], xmm0
call fcn.004bd182
add esp, 0x20
cmp eax, 0x3e9
sbb edx, 0
jl 0x4d8a17
mov ebx, edi
lea esi, [edi + 0x138]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x204]
xor eax, eax
lea ecx, [esp + 0x58]
lea edx, [esp + 0x20]
push eax
push eax
push ecx
push 4
push edx
push eax
push eax
push 0x4004747b
push edi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
jne 0x4d8a0b
push 4
lea eax, [esp + 0x24]
push eax
push 0x1001
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
movdqu xmm0, xmmword [esp + 0x38]
movdqu xmmword [esi], xmm0
mov edi, ebx
mov eax, dword [edi + 0xa8]
mov ecx, dword [edi + 0xac]
mov edx, eax
or edx, ecx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
je 0x4d8ce5
cmp eax, ebx
mov esi, edx
mov edx, ecx
sbb edx, esi
cmovl esi, ecx
cmovl ebx, eax
push ebx
push dword [edi + 0x128]
push 2
push edi
call fcn.004abe6c
add esp, 0x10
sub dword [edi + 0xa8], ebx
mov edx, esi
sbb dword [edi + 0xac], esi
mov eax, dword [esp + 0x10]
mov esi, eax
sub esi, ebx
mov ecx, dword [esp + 0x14]
sbb ecx, edx
mov ebx, eax
mov edx, ecx
jmp 0x4d8ce7
mov eax, dword [edi + 0x87c]
test eax, eax
jne 0x4d8aa1
push dword [edi + 0x4ac]
call dword [0x7ec0dc]
add esp, 4
mov dword [edi + 0x87c], eax
test eax, eax
je 0x4d92b6
mov ecx, ebx
or ecx, esi
je 0x4d8ac2
mov ecx, dword [edi + 0x128]
cmp ecx, eax
je 0x4d8ac2
push ebx
push ecx
push eax
call fcn.006fb4d0
add esp, 0xc
mov eax, dword [edi + 0x87c]
mov dword [edi + 0x128], eax
cmp byte [edi + 0x14c], 0
je 0x4d8c3e
mov eax, dword [edi + 0xe4]
test al, 0x20
jne 0x4d8e0b
and eax, 0xfffffffd
mov dword [edi + 0xe4], eax
jmp 0x4d8de6
mov ecx, dword [edi + 0xd4]
add ecx, dword [esp + 0x10]
mov dword [edi + 0xd4], ecx
mov edx, dword [esp + 0xc]
add edx, dword [edi + 0x4a8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
sub edx, ecx
add ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0xc]
cmovbe edx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
push ecx
push esi
push edi
call eax
add esp, 0x10
mov edx, eax
test eax, eax
jne 0x4d9022
xor edx, edx
cmp byte [esp + 0x20], 0
je 0x4d8b9b
or byte [edi + 0xe4], 1
jmp 0x4d8b9b
xor ebx, ebx
inc ebx
jmp 0x4d8baf
xor edx, edx
mov ebx, dword [esp + 4]
jmp 0x4d8b9b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x4d8b99
cmp byte [edi + 0x68b], 0
je 0x4d8b99
push dword [edi + 0xc5c]
push ecx
push eax
push str.Excess_found:_excess___zd_url___s__zero_length_body_
push edi
call fcn.004abf96
add esp, 0x14
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jle 0x4d8baf
xor eax, eax
neg dword [esp + 0x1c]
sbb eax, dword [esp + 0x28]
jl 0x4d8bbc
mov al, 1
mov byte [edi + 0xd0f], al
mov ecx, dword [ebp + 0x14]
mov byte [ecx], al
mov eax, dword [edi + 0xe4]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x4d8c14
cmp byte [esi + 0x1ce], 0
mov ecx, dword [esp + 0x30]
je 0x4d8c1d
cmp byte [edi + 0x68b], 0
mov esi, dword [ebp + 0x10]
je 0x4d8c09
push str.we_are_done_reading_and_this_is_set_to_close__stop_send
push edi
mov dword [esp + 0xc], ebx
mov ebx, edx
call fcn.004abf96
mov edx, ebx
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
add esp, 8
mov eax, dword [edi + 0xe4]
and eax, 0xfffffffd
mov dword [edi + 0xe4], eax
jmp 0x4d8c20
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x30]
jmp 0x4d8c20
mov esi, dword [ebp + 0x10]
test edx, edx
jne 0x4d9022
xor edx, edx
cmp byte [esi], 0
jne 0x4d9022
mov edx, dword [edi + 0xe4]
jmp 0x4d88e0
mov ecx, dword [edi + 0x12c]
cmp dword [edi + 0xf8], 2
jne 0x4d8ca6
cmp dword [ecx + 0x30], 2
jne 0x4d8ca6
mov dword [edi + 0xf8], 1
and byte [edi + 0xe4], 0xfd
lea ebx, [esp + 0x38]
push ebx
call fcn.004bd0ac
add esp, 4
movdqu xmm0, xmmword [ebx]
movdqu xmmword [edi + 0xe8], xmm0
mov esi, dword [esp + 4]
and esi, 0xfffffffd
mov eax, dword [edi + 0x650]
mov ecx, eax
sar ecx, 0x1f
push 0
push ecx
push eax
push edi
call fcn.004b2f7e
add esp, 0x10
mov eax, esi
mov esi, dword [ebp + 0x10]
jmp 0x4d8e12
mov dword [esp + 4], esi
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x1e4]
test dword [edx + 0x44], 0x40003
je 0x4d8fef
cmp dword [ecx + 0x30], 1
sete cl
mov dword [esp + 8], ecx
jmp 0x4d8ff7
mov eax, dword [esp + 8]
mov edx, ebx
xor ebx, ebx
inc ebx
mov ecx, dword [ebp + 8]
mov edi, esi
mov esi, ecx
jmp 0x4d8b9f
mov esi, ebx
mov eax, esi
or eax, edx
je 0x4d8d27
sub ebx, esi
add ebx, dword [edi + 0x128]
push esi
push ebx
push 4
push edi
mov ebx, edx
call fcn.004abe6c
add esp, 0x10
add esi, dword [edi + 0xa0]
adc ebx, dword [edi + 0xa4]
mov dword [edi + 0xa0], esi
mov dword [edi + 0xa4], ebx
push ebx
push esi
push edi
call fcn.004d629a
add esp, 0xc
cmp byte [edi + 0x151], 0
je 0x4d8d39
cmp byte [edi + 0x153], 0
je 0x4d8d73
mov eax, dword [edi + 0xa4]
xor eax, dword [edi + 0xc34]
mov ecx, dword [edi + 0xa0]
xor ecx, dword [edi + 0xc30]
or ecx, eax
jne 0x4d8d73
mov byte [edi + 0x14c], 1
cmp byte [edi + 0x68b], 0
je 0x4d8d73
push str.We_are_completely_uploaded_and_fine
push edi
call fcn.004abf96
add esp, 8
mov ecx, dword [edi + 0x120]
mov edx, dword [edi + 0x124]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov esi, edi
mov edi, edx
mov dword [esp + 4], ebx
xor edi, ebx
mov ebx, ecx
xor ebx, eax
or ebx, edi
jne 0x4d8df1
mov eax, dword [esi + 0x87c]
test eax, eax
mov edi, esi
jne 0x4d8dc2
push dword [edi + 0x4ac]
call dword [0x7ec0dc]
add esp, 4
mov dword [edi + 0x87c], eax
test eax, eax
je 0x4d92b6
mov dword [edi + 0x128], eax
xor eax, eax
mov dword [edi + 0x124], eax
mov dword [edi + 0x120], eax
cmp byte [edi + 0x14c], 0
je 0x4d8e0b
and byte [edi + 0xe4], 0xfd
push edi
call fcn.004bb05d
add esp, 4
jmp 0x4d8e0b
sub ecx, eax
sbb edx, dword [esp + 4]
mov dword [esi + 0x120], ecx
mov dword [esi + 0x124], edx
add dword [esi + 0x128], eax
mov edi, esi
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0xc]
mov ebx, eax
lea eax, [esp + 0x38]
push eax
call fcn.004bd0ac
add esp, 4
test ebx, ebx
je 0x4d8eff
push edi
call fcn.004d54db
add esp, 4
mov edx, 0x2a
test eax, eax
jne 0x4d9022
sub esp, 0x14
movdqu xmm0, xmmword [esp + 0x4c]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], edi
call fcn.004d6e27
add esp, 0x14
mov edx, eax
test eax, eax
jne 0x4d9022
cmp dword [edi + 0xe4], 0
je 0x4d8fa2
push 0
lea eax, [esp + 0x3c]
push eax
push edi
call fcn.004bb8c0
add esp, 0xc
test edx, edx
jns 0x4d8fc1
mov eax, dword [edi + 0x88]
mov esi, dword [edi + 0x8c]
mov ebx, edi
mov dword [esp + 8], eax
mov edi, eax
and edi, esi
mov eax, dword [ebx + 0x9c]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 4], eax
sub esp, 0x20
movups xmm0, xmmword [ebx + 0x748]
movups xmmword [esp + 0x10], xmm0
movdqu xmm0, xmmword [esp + 0x58]
movdqu xmmword [esp], xmm0
call fcn.004bd182
add esp, 0x20
cmp edi, 0xffffffff
je 0x4d921f
push esi
push dword [esp + 0xc]
push dword [esp + 0x14]
push dword [esp + 0x10]
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push ebx
call fcn.004abf08
add esp, 0x20
jmp 0x4d9237
cmp dword [edi + 0xf8], 1
jne 0x4d8f6f
sub esp, 0x20
movups xmm0, xmmword [edi + 0xe8]
movups xmmword [esp + 0x10], xmm0
movdqu xmm0, xmmword [esp + 0x58]
movdqu xmmword [esp], xmm0
call fcn.004bd182
add esp, 0x20
mov ecx, dword [edi + 0x650]
mov ebx, esi
mov esi, ecx
sar esi, 0x1f
cmp eax, ecx
sbb edx, esi
mov esi, ebx
jl 0x4d8f6f
xor eax, eax
mov dword [edi + 0xf8], eax
or byte [edi + 0xe4], 2
push eax
push edi
call fcn.004b617f
add esp, 8
cmp byte [edi + 0x68b], 0
je 0x4d8f6f
push str.Done_waiting_for_100_continue
push edi
call fcn.004abf96
add esp, 8
push edi
call fcn.004bb002
add esp, 4
mov edx, eax
test eax, eax
jne 0x4d9022
jmp 0x4d8e29
push 2
push esi
call fcn.004bbbc5
add esp, 8
mov eax, dword [ebp + 0x10]
mov byte [eax], 1
mov edx, 8
jmp 0x4d9022
cmp byte [edi + 0x154], 0
je 0x4d91b0
push edi
call fcn.004d54db
add esp, 4
mov edx, 0x2a
test eax, eax
jne 0x4d9022
test byte [edi + 0xe4], 0x3f
sete byte [esi]
xor edx, edx
jmp 0x4d9022
cmp eax, 6
jne 0x4d9188
push str.Failed_reading_the_chunked_encoded_stream
push edi
call fcn.004abf08
add esp, 8
mov edx, dword [esp + 0x38]
jmp 0x4d91a5
mov dword [esp + 8], 0
add eax, ebx
mov dword [edi + 0x128], eax
mov eax, dword [edi + 0x4ac]
sub eax, ebx
lea ecx, [esp + 0x20]
push ecx
push eax
push edi
call fcn.004d7c8d
add esp, 0xc
sub dword [edi + 0x128], ebx
test eax, eax
je 0x4d902c
mov edx, eax
mov eax, edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x20]
mov esi, ebx
mov dword [esp + 0x1c], eax
add esi, eax
mov edx, dword [esp + 4]
mov ecx, edx
adc ecx, 0
mov eax, esi
or eax, ecx
je 0x4d8ad5
xor eax, eax
mov dword [esp + 0x28], ecx
mov ecx, esi
neg ecx
mov ecx, dword [esp + 0x28]
sbb eax, ecx
jge 0x4d9241
mov dword [edi + 0x120], esi
mov dword [edi + 0x124], ecx
cmp byte [esp + 8], 0
jne 0x4d8964
cmp byte [edi + 0x67a], 0
je 0x4d8964
mov eax, dword [edi + 0x8f0]
test eax, eax
jne 0x4d90b3
mov eax, dword [edi + 0x4ac]
add eax, eax
push eax
call dword [0x7ec0dc]
mov edx, dword [esp + 8]
add esp, 4
mov dword [edi + 0x8f0], eax
test eax, eax
je 0x4d92a8
mov ecx, ebx
or ecx, edx
je 0x4d90cd
push ebx
push dword [edi + 0x128]
push eax
call fcn.006fb4d0
mov edx, dword [esp + 0x10]
add esp, 0xc
cmp dword [esp + 0x1c], 0
je 0x4d926e
mov eax, edx
mov edx, ebx
mov dword [esp + 8], eax
mov ecx, dword [edi + 0x128]
mov cl, byte [ecx + ebx]
mov eax, dword [edi + 0x8f0]
mov dword [esp + 0x1c], eax
cmp cl, 0xa
jne 0x4d9154
mov ecx, edx
add ecx, 1
adc dword [esp + 8], 0
mov eax, dword [esp + 0x1c]
mov byte [eax + edx], 0xd
mov edx, dword [edi + 0x8f0]
mov byte [edx + ecx], 0xa
cmp byte [edi + 0x67a], 0
jne 0x4d915d
mov edx, dword [edi + 0xc30]
mov eax, dword [edi + 0xc34]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], eax
and edx, eax
cmp edx, 0xffffffff
je 0x4d915d
mov eax, dword [esp + 0x1c]
add eax, 1
mov edx, dword [esp + 0x24]
adc edx, 0
mov dword [edi + 0xc30], eax
mov dword [edi + 0xc34], edx
jmp 0x4d915d
mov eax, dword [esp + 0x1c]
mov byte [eax + edx], cl
mov ecx, edx
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
add ebx, 1
adc edx, 0
add ecx, 1
adc eax, 0
cmp ebx, esi
mov dword [esp + 4], edx
sbb edx, dword [esp + 0x28]
mov edx, ecx
jl 0x4d90dc
jmp 0x4d9272
push eax
call fcn.004dc241
add esp, 4
push eax
push str._s_in_chunked_encoding
push edi
call fcn.004abf08
add esp, 0xc
mov edx, 0x38
mov esi, dword [ebp + 0x10]
xor ebx, ebx
inc ebx
jmp 0x4d8c17
mov esi, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, esi
and edx, ecx
cmp edx, 0xffffffff
je 0x4d91f2
mov eax, dword [edi + 0x98]
mov ebx, dword [edi + 0x9c]
mov edx, edi
mov edi, ecx
mov dword [esp + 4], ebx
xor edi, ebx
mov ebx, esi
mov dword [esp + 0xc], eax
xor ebx, eax
or ebx, edi
mov edi, edx
je 0x4d91f2
cmp dword [edi + 0x118], 0
je 0x4d924c
cmp byte [edi + 0x14f], 0
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
je 0x4d8faf
cmp dword [eax + 0x18], 4
je 0x4d8faf
push str.transfer_closed_with_outstanding_read_data_remaining
push edi
call fcn.004abf08
add esp, 8
jmp 0x4d9264
push dword [esp + 0xc]
push dword [esp + 8]
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push ebx
call fcn.004abf08
add esp, 0x18
mov edx, 0x1c
jmp 0x4d9022
mov eax, dword [edi + 0xe4]
jmp 0x4d8ae3
sub esi, dword [esp + 0xc]
sbb ecx, dword [esp + 4]
push ecx
push esi
push str.transfer_closed_with__I64d_bytes_remaining_to_read
push edi
call fcn.004abf08
add esp, 0x10
mov edx, 0x12
jmp 0x4d9022
mov ecx, ebx
mov eax, edx
xor esi, ecx
mov edx, dword [esp + 0x28]
xor edx, eax
or edx, esi
jne 0x4d9289
mov esi, dword [edi + 0x120]
jmp 0x4d8964
mov edx, dword [edi + 0x8f0]
mov dword [edi + 0x128], edx
mov dword [edi + 0x120], ecx
mov dword [edi + 0x124], eax
mov esi, ecx
jmp 0x4d8964
push str.Failed_to_alloc_scratch_buffer
push edi
call fcn.004abf08
add esp, 8
mov edx, 0x1b
jmp 0x4d9022