Function at 0x10015780
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x20]
mov eax, dword [ebx + 0xac]
push esi
lea esi, [ebx + 0x50]
push edi
mov dword [esi + 0x60], eax
mov ecx, dword [ebp]
push ecx
push 0xa
push eax
call dword [sym.imp.MSVCRT.dll_memchr]
add esp, 0xc
mov dword [esi + 0x64], eax
test eax, eax
je 0x1001666c
mov edi, dword [esi + 0x64]
mov ecx, dword [esi + 0x5c]
mov edx, dword [ebp]
sub edi, ecx
inc edi
sub edx, edi
mov dword [ebp], edx
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x60]
inc eax
mov dword [esi + 0x5c], eax
sub eax, ecx
push eax
push esi
push ebx
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x10016848
mov edx, dword [esi + 0x54]
mov dword [esi + 0x64], edx
mov eax, dword [ebx + 0x6c4]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x50]
xor edx, edx
cmp eax, edx
jne 0x10015823
cmp dword [esi + 0x58], 5
jbe 0x10015823
mov ecx, dword [ebx + 0x6c4]
mov edx, dword [esp + 0x24]
push ecx
push edx
push ebx
call fcn.100168c0
add esp, 0xc
test eax, eax
je 0x100166c9
xor edx, edx
mov eax, dword [esi + 0x68]
mov cl, byte [eax]
cmp cl, 0xa
je 0x10016334
cmp cl, 0xd
je 0x10016339
mov ecx, dword [esi + 0x50]
cmp ecx, edx
lea edi, [ecx + 1]
mov dword [esi + 0x50], edi
jne 0x10015aed
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x308]
mov ecx, dword [edx + 0x3c]
test cl, 3
je 0x10015938
mov ecx, dword [esp + 0x24]
lea ebp, [esi + 0x78]
push ebp
lea edx, [esp + 0x14]
lea edi, [ecx + 0x178]
push edi
push edx
push str._HTTP__d._d__d
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x14
cmp eax, 1
jne 0x100158b0
cmp dword [esp + 0x10], 2
jne 0x100158f1
mov eax, dword [esi + 0x68]
push ebp
push str._HTTP_2__d
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x100158f1
mov dword [edi], 0
jmp 0x100158b5
cmp eax, 3
jne 0x100158f1
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
lea ecx, [eax + eax*4]
shl ecx, 1
add edx, ecx
mov dword [edi], edx
mov ecx, dword [esi + 0x88]
cmp ecx, 2
mov eax, edx
jne 0x10015999
cmp eax, 0x14
je 0x10015999
push str.Lying_server__not_serving_HTTP_2_n
push ebx
call fcn.100243c0
add esp, 8
jmp 0x10015999
mov edx, dword [esi + 0x68]
push ebp
push str._HTTP__3d
push edx
call dword [sym.imp.MSVCRT.dll_sscanf]
mov ebx, eax
add esp, 0xc
test ebx, ebx
mov dword [edi], 0xa
jne 0x10015999
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call fcn.10016850
add esp, 8
test eax, eax
je 0x10015991
mov dword [ebp], 0xc8
mov dword [edi], 0xa
jmp 0x10015999
test ecx, 0x40000
je 0x10016712
mov edx, dword [esp + 0x24]
lea ebp, [esi + 0x78]
push ebp
lea ecx, [esp + 0x18]
lea edi, [edx + 0x17c]
push edi
push ecx
push str._RTSP__d._d__3d
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
mov ebx, eax
add esp, 0x14
cmp ebx, 3
jne 0x10016712
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*4]
mov eax, dword [edi]
shl edx, 1
add eax, edx
mov dword [edi], eax
mov eax, dword [esp + 0x24]
lea edi, [eax + 0x178]
mov dword [edi], 0xb
test ebx, ebx
je 0x10016712
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebp]
mov eax, dword [ebx + 0x47e8]
mov dword [ebx + 0x4878], ecx
mov edx, dword [edi]
test eax, eax
mov dword [ebx + 0x4880], edx
je 0x100159bc
cmp eax, dword [edi]
jle 0x100159c4
mov eax, dword [edi]
mov dword [ebx + 0x47e8], eax
mov eax, dword [ebx + 0x388]
test eax, eax
je 0x10015a2e
mov eax, dword [ebp]
cmp eax, 0x190
jl 0x10015a2e
cmp eax, 0x191
jne 0x100159ed
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x288]
test edx, edx
jne 0x10015a2e
cmp eax, 0x197
jne 0x10015a02
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0x28c]
test ecx, ecx
jne 0x10015a2e
mov ecx, dword [ebx + 0x4810]
mov edx, dword [ebx + 0x4814]
or ecx, edx
je 0x100166fc
cmp dword [ebx + 0x25c], 1
jne 0x100166fc
cmp eax, 0x1a0
jne 0x100166fc
mov edi, dword [edi]
cmp edi, 0xa
jne 0x10015a51
push str.HTTP_1.0__assume_close_after_body_n
push ebx
call fcn.100243c0
mov edx, dword [esp + 0x2c]
push 1
push edx
call fcn.100032c0
add esp, 0x10
jmp 0x10015ab2
cmp edi, 0x14
je 0x10015aa2
cmp dword [esi + 0x88], 1
jne 0x10015a65
cmp dword [ebp], 0x65
je 0x10015aa2
cmp edi, 0xb
jl 0x10015ab2
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x26c]
test ecx, ecx
jne 0x10015ab2
mov ecx, dword [eax + 0x594]
test ecx, ecx
je 0x10015ab2
push eax
push ebx
call fcn.10020870
add esp, 8
test eax, eax
jne 0x10015ab2
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x594]
mov dword [edx], 1
jmp 0x10015ab2
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x594]
mov dword [ecx], 2
mov ebp, dword [ebp]
sub ebp, 0xcc
je 0x10015ac2
sub ebp, 0x64
jne 0x10015aed
mov ecx, dword [ebx + 0x254]
xor eax, eax
cmp ecx, eax
je 0x10015ad8
mov dword [ebx + 0x4888], 1
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 4], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0xb0], 1
mov eax, dword [esi + 0xb0]
test eax, eax
jne 0x10015ba5
mov eax, dword [ebx + 0x3e8]
test eax, eax
jne 0x10015ba5
mov edx, dword [esi + 0x68]
push 0xf
push edx
push str.Content_Length:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015ba5
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.10029800
mov ecx, dword [ebx + 0x350]
mov edi, eax
mov eax, dword [ebx + 0x354]
mov ebp, edx
mov edx, ecx
add esp, 0xc
or edx, eax
je 0x10015b5f
cmp ebp, eax
jg 0x10016723
jl 0x10015b5f
cmp edi, ecx
ja 0x10016723
test ebp, ebp
jl 0x10015b84
jg 0x10015b69
test edi, edi
jb 0x10015b84
push ebp
push edi
mov dword [esi], edi
mov dword [esi + 0x10], edi
push ebx
mov dword [esi + 4], ebp
mov dword [esi + 0x14], ebp
call fcn.10022220
add esp, 0xc
jmp 0x100162b0
mov eax, dword [esp + 0x24]
push 2
push eax
call fcn.100032c0
push ebp
push edi
push str.Negative_content_length:__I64d__closing_after_transfer_n
push ebx
call fcn.100243c0
add esp, 0x18
jmp 0x100162b0
mov ecx, dword [esi + 0x68]
push 0xd
push ecx
push str.Content_Type:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015c01
mov edx, dword [esi + 0x68]
push edx
call fcn.10012a70
mov edi, eax
add esp, 4
test edi, edi
je 0x10016748
cmp byte [edi], 0
jne 0x10015be6
push edi
call dword [0x1003c8cc]
add esp, 4
jmp 0x100162b0
mov eax, dword [ebx + 0x48a0]
push eax
call dword [0x1003c8cc]
add esp, 4
mov dword [ebx + 0x48a0], edi
jmp 0x100162b0
mov ecx, dword [esi + 0x68]
push 7
push ecx
push str.Server:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015c6f
mov ebp, dword [esp + 0x24]
cmp dword [ebp + 0x178], 0x14
jge 0x100162b0
mov edx, dword [esi + 0x68]
push edx
call fcn.10012a70
mov edi, eax
mov eax, dword [ebp + 0x594]
add esp, 4
test eax, eax
je 0x10015c60
cmp dword [eax], 1
jne 0x10015c60
push edi
push ebx
call fcn.10020a20
add esp, 8
test eax, eax
je 0x10015c60
mov eax, dword [ebp + 0x594]
mov dword [eax], 0xffffffff
push edi
call dword [0x1003c8cc]
add esp, 4
jmp 0x100162b0
mov edi, dword [esp + 0x24]
mov ebp, 0xa
cmp dword [edi + 0x178], ebp
jne 0x10015cbf
mov eax, dword [edi + 0x280]
test eax, eax
je 0x10015cbf
mov ecx, dword [esi + 0x68]
push str.keep_alive
push str.Proxy_Connection:
push ecx
call fcn.10013960
add esp, 0xc
test eax, eax
je 0x10015cbf
push 0
push edi
call fcn.100032c0
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebx
call fcn.100243c0
add esp, 0x10
jmp 0x100162b0
cmp dword [edi + 0x178], 0xb
jne 0x10015d07
mov eax, dword [edi + 0x280]
test eax, eax
je 0x10015d07
mov edx, dword [esi + 0x68]
push str.close
push str.Proxy_Connection:
push edx
call fcn.10013960
add esp, 0xc
test eax, eax
je 0x10015d07
push 1
push edi
call fcn.100032c0
push str.HTTP_1.1_proxy_connection_set_close__n
push ebx
call fcn.100243c0
add esp, 0x10
jmp 0x100162b0
cmp dword [edi + 0x178], ebp
jne 0x10015d44
mov eax, dword [esi + 0x68]
push str.keep_alive
push str.Connection:
push eax
call fcn.10013960
add esp, 0xc
test eax, eax
je 0x10015d44
push 0
push edi
call fcn.100032c0
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebx
call fcn.100243c0
add esp, 0x10
jmp 0x100162b0
mov ecx, dword [esi + 0x68]
push str.close
push str.Connection:
push ecx
call fcn.10013960
add esp, 0xc
test eax, eax
je 0x10015d6e
push 2
push edi
call fcn.100032c0
add esp, 8
jmp 0x100162b0
mov edx, dword [esi + 0x68]
push 0x12
push edx
push str.Transfer_Encoding:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015eb1
mov edi, dword [esi + 0x68]
mov ebp, dword [sym.imp.MSVCRT.dll__isctype]
add edi, 0x12
mov al, byte [edi]
test al, al
je 0x10015dd9
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x10015db5
and eax, 0xff
push 8
push eax
call ebp
add esp, 8
jmp 0x10015dc8
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
and eax, 0xff
mov ecx, dword [edx]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
jne 0x10015dd1
cmp byte [edi], 0x2c
jne 0x10015dd9
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10015d9b
push 7
push edi
push str.chunked
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015e07
mov edx, dword [esp + 0x24]
mov dword [esi + 0xc4], 1
push edx
call fcn.10016a90
add esp, 4
add edi, 7
mov eax, dword [esi + 0x8c]
test eax, eax
jne 0x100162b0
push 8
push edi
push str.identity
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015e3b
mov dword [esi + 0x8c], 0
add edi, 8
jmp 0x10015d95
push 7
push edi
push str.deflate
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015e61
mov dword [esi + 0x8c], 1
add edi, 7
jmp 0x10015d95
push 4
push edi
push str.gzip
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015e87
mov dword [esi + 0x8c], 2
add edi, 4
jmp 0x10015d95
push 6
push edi
push str.x_gzip
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x100162b0
mov dword [esi + 0x8c], 2
add edi, 6
jmp 0x10015d95
mov eax, dword [esi + 0x68]
push 0x11
push eax
push str.Content_Encoding:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015fa6
mov eax, dword [ebx + 0x430]
test eax, eax
je 0x10015fa6
mov edi, dword [esi + 0x68]
add edi, 0x11
mov al, byte [edi]
test al, al
je 0x10015f25
mov ebp, dword [sym.imp.MSVCRT.dll__isctype]
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x10015f06
and eax, 0xff
push 8
push eax
call ebp
add esp, 8
jmp 0x10015f19
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
and eax, 0xff
mov ecx, dword [edx]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x10015f25
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10015eec
push 8
push edi
push str.identity
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015f48
mov dword [esi + 0x8c], 0
jmp 0x100162b0
push 7
push edi
push str.deflate
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10015f6b
mov dword [esi + 0x8c], 1
jmp 0x100162b0
push 4
push edi
push str.gzip
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
jne 0x10015f97
push 6
push edi
push str.x_gzip
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x100162b0
mov dword [esi + 0x8c], 2
jmp 0x100162b0
mov edx, dword [esi + 0x68]
push 0xe
push edx
push str.Content_Range:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10016093
mov edi, dword [esi + 0x68]
mov ebp, dword [sym.imp.MSVCRT.dll__isctype]
add edi, 0xe
mov al, byte [edi]
test al, al
je 0x10016011
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x10015fed
and eax, 0xff
push 4
push eax
call ebp
add esp, 8
jmp 0x10016000
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
and eax, 0xff
mov ecx, dword [edx]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
jne 0x10016011
cmp byte [edi], 0x2a
je 0x10016011
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10015fd3
mov edx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [edx], 1
jle 0x1001602a
xor eax, eax
push 4
mov al, byte [edi]
push eax
call ebp
add esp, 8
jmp 0x1001603c
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
xor ecx, ecx
mov cl, byte [edi]
mov eax, dword [edx]
mov al, byte [eax + ecx*2]
and eax, 4
xor ecx, ecx
cmp eax, ecx
je 0x10016082
push 0xa
push ecx
push edi
call fcn.10029800
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov ecx, dword [ebx + 0x4810]
mov eax, dword [esi + 0x70]
add esp, 0xc
cmp ecx, eax
jne 0x100162b0
mov edx, dword [ebx + 0x4814]
mov eax, dword [esi + 0x74]
cmp edx, eax
jne 0x100162b0
mov dword [esi + 0x6c], 1
jmp 0x100162b0
mov dword [ebx + 0x4810], ecx
mov dword [ebx + 0x4814], ecx
jmp 0x100162b0
mov eax, dword [ebx + 0x578]
test eax, eax
je 0x100160ff
mov eax, dword [esi + 0x68]
push 0xb
push eax
push str.Set_Cookie:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x100160ff
push 2
push 2
push ebx
call fcn.10025080
mov eax, dword [edi + 0x338]
add esp, 0xc
test eax, eax
jne 0x100160d1
mov eax, dword [edi + 0x98]
mov ecx, dword [ebx + 0x47f8]
mov edx, dword [esi + 0x68]
push ecx
add edx, 0xb
push eax
mov eax, dword [ebx + 0x578]
push edx
push 1
push eax
push ebx
call fcn.100033e0
push 2
push ebx
call fcn.100250d0
add esp, 0x20
jmp 0x100162b0
mov ecx, dword [esi + 0x68]
push 0xe
push ecx
push str.Last_Modified:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x10016169
mov eax, dword [ebx + 0x254]
test eax, eax
jne 0x1001612a
mov eax, dword [ebx + 0x36c]
test eax, eax
je 0x10016169
push 0
call dword [sym.imp.MSVCRT.dll_time]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x68]
lea edx, [esp + 0x1c]
add eax, 0xe
push edx
push eax
call sym.libcurl.dll_curl_getdate
mov dword [esi + 0x90], eax
mov ecx, dword [ebx + 0x36c]
add esp, 0xc
test ecx, ecx
je 0x100162b0
mov dword [ebx + 0x4884], eax
jmp 0x100162b0
mov ecx, dword [esi + 0x68]
push 0x11
push ecx
push str.WWW_Authenticate:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x1001618a
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x100161ab
mov edx, dword [esi + 0x68]
push 0x13
push edx
push str.Proxy_authenticate:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x100161f2
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x100161f2
mov edx, dword [esi + 0x68]
xor ecx, ecx
cmp eax, 0x197
push edx
sete cl
mov ebp, ecx
call fcn.10012a70
mov edi, eax
add esp, 4
test edi, edi
je 0x10016748
mov eax, dword [esp + 0x24]
push edi
push ebp
push eax
call fcn.100132f0
push edi
mov ebp, eax
call dword [0x1003c8cc]
add esp, 0x10
test ebp, ebp
jne 0x1001673e
jmp 0x100162b0
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x1001628c
cmp eax, 0x190
jge 0x1001628c
mov ecx, dword [esi + 0x68]
push 9
push ecx
push str.Location:
call sym.libcurl.dll_curl_strnequal
add esp, 0xc
test eax, eax
je 0x1001628c
mov eax, dword [ebx + 0x104]
test eax, eax
jne 0x1001628c
mov edx, dword [esi + 0x68]
push edx
call fcn.10012a70
add esp, 4
test eax, eax
je 0x10016748
cmp byte [eax], 0
jne 0x10016251
push eax
call dword [0x1003c8cc]
add esp, 4
jmp 0x100162b0
mov ecx, dword [ebx + 0x390]
mov dword [ebx + 0x104], eax
test ecx, ecx
je 0x100162b0
push eax
call dword [0x1003c8d4]
add esp, 4
mov dword [ebx + 0x108], eax
test eax, eax
je 0x10016748
push edi
call fcn.10012de0
add esp, 4
test eax, eax
jne 0x10016848
jmp 0x100162b0
mov eax, dword [edi + 0x308]
test dword [eax + 0x3c], 0x40000
je 0x100162b0
mov ecx, dword [esi + 0x68]
push ecx
push edi
call fcn.10023ab0
add esp, 8
test eax, eax
jne 0x10016848
mov eax, dword [ebx + 0x39c]
mov edi, 2
test eax, eax
je 0x100162c4
mov edi, 3
mov eax, dword [ebx + 0x3b4]
test eax, eax
je 0x100162e6
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x68]
push edx
push eax
push ecx
push 1
push ebx
call fcn.10024d40
add esp, 0x14
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x68]
mov ecx, dword [esp + 0x24]
push edx
push eax
push edi
push ecx
call fcn.10024b70
add esp, 0x10
test eax, eax
jne 0x10016848
mov edx, dword [esi + 0x58]
mov edi, dword [ebx + 0x488c]
mov ecx, dword [ebx + 0x80]
add edi, edx
mov dword [ebx + 0x488c], edi
mov eax, dword [esi + 0x58]
add ecx, eax
mov dword [ebx + 0x80], ecx
mov ecx, dword [ebx + 0x6c4]
mov dword [esi + 0x54], ecx
jmp 0x10016604
cmp cl, 0xd
jne 0x1001633d
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x10016349
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x100163ae
cmp eax, 0xc7
jg 0x100163ae
sub eax, 0x64
je 0x10016384
dec eax
je 0x1001636f
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], edx
jmp 0x1001640e
cmp dword [esi + 0x88], 1
je 0x1001663d
mov dword [esi + 0x48], edx
jmp 0x1001640e
mov eax, dword [esi + 0x84]
mov dword [esi + 0x48], 1
cmp eax, edx
mov dword [esi + 0x50], edx
jle 0x1001640e
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x84], edx
or al, 2
mov dword [esi + 0xa4], eax
jmp 0x1001640e
mov eax, dword [esi]
mov edi, dword [esi + 4]
and eax, edi
mov dword [esi + 0x48], edx
cmp eax, 0xffffffff
jne 0x1001640e
cmp dword [esi + 0xc4], edx
jne 0x1001640e
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x26c], edx
jne 0x1001640e
cmp dword [eax + 0x178], 0xb
jne 0x1001640e
mov ecx, dword [eax + 0x308]
test dword [ecx + 0x3c], 0x40000
jne 0x1001640e
cmp dword [ebx + 0x25c], 5
je 0x1001640e
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push ebx
call fcn.100243c0
mov edx, dword [esp + 0x2c]
push 2
push edx
call fcn.100032c0
add esp, 0x10
xor edx, edx
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x26c], edx
je 0x10016460
mov eax, dword [ebx + 0xc8]
cmp eax, 0x191
jne 0x10016434
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x380], 2
je 0x10016448
cmp eax, 0x197
jne 0x10016460
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x398], 2
jne 0x10016460
push str.Connection_closure_while_negotiating_auth__HTTP_1.0___n
push ebx
call fcn.100243c0
add esp, 8
mov dword [ebx + 0x47a4], 1
mov ebp, dword [esp + 0x24]
push ebp
call fcn.100134b0
add esp, 4
test eax, eax
jne 0x10016755
mov eax, dword [ebx + 0x39c]
mov ecx, 2
test eax, eax
je 0x10016489
mov ecx, 3
mov eax, dword [ebx + 0x6c4]
mov edi, dword [esi + 0x68]
sub edi, eax
push edi
push eax
push ecx
push ebp
call fcn.10024b70
add esp, 0x10
test eax, eax
jne 0x10016848
mov ecx, dword [ebx + 0x488c]
mov eax, dword [ebx + 0x80]
add ecx, edi
add eax, edi
mov dword [ebx + 0x488c], ecx
mov dword [ebx + 0x80], eax
mov ecx, eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x100164d9
cmp eax, 0xc7
jg 0x100164d9
mov eax, ecx
jmp 0x100164db
xor eax, eax
push ebp
mov dword [ebx + 0x84], eax
call fcn.10012b80
add esp, 4
test eax, eax
jne 0x10016848
cmp dword [esi + 0x78], 0x12c
jl 0x100165f0
mov eax, dword [ebp + 0x2b0]
test eax, eax
jne 0x100165ca
mov eax, dword [ebp + 0x26c]
test eax, eax
jne 0x100165ca
mov eax, dword [ebp + 0x2b4]
test eax, eax
jne 0x100165d4
mov eax, dword [ebx + 0x25c]
cmp eax, 2
jl 0x100165ca
cmp eax, 4
jg 0x100165ca
mov eax, dword [esi + 0xa8]
test eax, eax
jne 0x100165ca
mov eax, dword [ebx + 0x38c]
test eax, eax
je 0x10016587
push str.HTTP_error_before_end_of_send__keep_sending_n
push ebx
call fcn.100243c0
mov eax, dword [esi + 0x84]
add esp, 8
test eax, eax
jle 0x100165ca
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x84], 0
or al, 2
mov dword [esi + 0xa4], eax
jmp 0x100165ca
push str.HTTP_error_before_end_of_send__stop_sending_n
push ebx
call fcn.100243c0
push 2
push ebp
call fcn.100032c0
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0xa8], 1
and ecx, 0xfffffffd
add esp, 0x10
mov dword [esi + 0xa4], ecx
mov eax, dword [ebx + 0x47ec]
test eax, eax
je 0x100165ca
mov dword [esi + 0x84], 3
mov eax, dword [ebp + 0x2b4]
test eax, eax
je 0x100165f0
push str.Keep_sending_data_to_get_tossed_away__n
push ebx
call fcn.100243c0
mov eax, dword [esi + 0xa4]
add esp, 8
or al, 2
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0x48]
test eax, eax
je 0x10016774
mov eax, dword [ebx + 0x6c4]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x58], 0
cmp byte [eax], 0
je 0x10016846
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x60], eax
mov edx, dword [ecx]
push edx
push 0xa
push eax
call dword [sym.imp.MSVCRT.dll_memchr]
add esp, 0xc
mov dword [esi + 0x64], eax
test eax, eax
je 0x1001666c
mov ebp, dword [esp + 0x28]
jmp 0x100157b6
push str.Received_101_n
push ebx
call fcn.100243c0
add esp, 8
mov eax, 1
mov dword [esi + 0x88], 2
mov dword [esi + 0x48], eax
mov dword [esi + 0x50], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push ecx
push esi
push ebx
call fcn.10016920
add esp, 0xc
test eax, eax
jne 0x10016848
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x10016846
cmp dword [esi + 0x58], 5
jbe 0x10016846
mov edx, dword [ebx + 0x6c4]
mov eax, dword [esp + 0x24]
push edx
push eax
push ebx
call fcn.100168c0
add esp, 0xc
test eax, eax
jne 0x10016846
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [esi + 0x48], 0
mov eax, dword [ebp]
test eax, eax
je 0x100166e8
mov dword [esi + 0x4c], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov dword [esi + 0x4c], 2
mov dword [ebp], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
push ebx
call fcn.100169f0
add esp, 4
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [esi + 0x48], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
push str.Maximum_file_size_exceeded
push ebx
call fcn.10024430
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0xc
ret
mov ecx, dword [esi + 0x78]
push ecx
push str.The_requested_URL_returned_error:__d
push ebx
call fcn.10024430
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [ebx + 0x3a8]
mov ebp, dword [esp + 0x2c]
test eax, eax
je 0x1001678e
mov dword [ebp], 1
or edx, 0xffffffff
jmp 0x100167db
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x308]
test dword [eax + 0x3c], 0x40000
je 0x100167c3
cmp dword [ebx + 0x500], 2
jne 0x100167c3
mov eax, dword [esi + 4]
or edx, 0xffffffff
cmp eax, edx
jg 0x100167c6
jl 0x100167ba
cmp dword [esi], edx
ja 0x100167c6
mov dword [ebp], 1
jmp 0x100167db
or edx, 0xffffffff
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100167db
mov dword [esi], edx
mov dword [esi + 0x10], edx
mov dword [esi + 4], edx
mov dword [esi + 0x14], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, edx
jne 0x100167e8
cmp ecx, edx
je 0x100167fe
push ecx
push eax
push ebx
call fcn.10022220
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esi + 0x10], ecx
add esp, 0xc
mov dword [esi + 0x14], edx
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x10016813
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x10016813
mov dword [ebp], 1
cmp dword [ebp], 0
je 0x10016827
mov eax, dword [esi + 0xa4]
and al, 0xfe
mov dword [esi + 0xa4], eax
mov eax, dword [ebx + 0x3b4]
test eax, eax
je 0x10016846
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0x60]
push eax
push edi
push ecx
push 1
push ebx
call fcn.10024d40
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret