Function at 0x9a1680
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x14c], 0
push edi
mov edi, dword [ebp + 0x10]
jne 0x9a1769
cmp dword [esi + 0x7f8], 0
jne 0x9a1769
push 0xf
push str.Content_Length:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1769
lea eax, [ebp - 8]
push eax
push 0xa
push 0
add edi, 0xf
push edi
call fcn.009ad210
add esp, 0x10
test eax, eax
jne 0x9a1700
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
pop edi
mov dword [esi + 0x80], eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x84], ecx
mov dword [esi + 0x8c], ecx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x9a174f
mov ecx, dword [esi + 0x568]
or ecx, dword [esi + 0x56c]
je 0x9a172d
push str.Maximum_file_size_exceeded
push esi
call fcn.0097bdf0
add esp, 8
pop edi
pop esi
mov eax, 0x3f
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
push 2
push edx
call fcn.00982bc0
push str.Overflow_Content_Length:_value
push esi
call fcn.0097bd80
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str.Invalid_Content_Length:_value
push esi
call fcn.0097bdf0
add esp, 8
pop edi
pop esi
mov eax, 8
pop ebx
mov esp, ebp
pop ebp
ret
push 0xd
push str.Content_Type:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a17cf
push edi
call fcn.0099e2a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x9a1798
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi], 0
jne 0x9a17b0
push edi
call dword [0x9fb340]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xf14]
push eax
call dword [0x9fb340]
add esp, 4
mov dword [esi + 0xf14], edi
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0xc]
cmp byte [ebx + 0x114], 0xa
jne 0x9a181e
cmp dword [ebx + 0x28c], 0
je 0x9a181e
push 0xa
push str.keep_alive
push 0x11
push str.Proxy_Connection:
push edi
call fcn.0099f1f0
add esp, 0x14
test eax, eax
je 0x9a181e
push 0
push ebx
call fcn.00982bc0
push str.HTTP_1.0_proxy_connection_set_to_keep_alive
push esi
call fcn.0097bd80
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x114], 0xb
jne 0x9a186a
cmp dword [ebx + 0x28c], 0
je 0x9a186a
push 5
push str.close
push 0x11
push str.Proxy_Connection:
push edi
call fcn.0099f1f0
add esp, 0x14
test eax, eax
je 0x9a186a
push 1
push ebx
call fcn.00982bc0
push str.HTTP_1.1_proxy_connection_set_close
push esi
call fcn.0097bd80
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x114], 0xa
jne 0x9a18ad
push 0xa
push str.keep_alive
push 0xb
push str.Connection:
push edi
call fcn.0099f1f0
add esp, 0x14
test eax, eax
je 0x9a18ad
push 0
push ebx
call fcn.00982bc0
push str.HTTP_1.0_connection_set_to_keep_alive
push esi
call fcn.0097bd80
add esp, 0x10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 5
push str.close
push 0xb
push str.Connection:
push edi
call fcn.0099f1f0
add esp, 0x14
test eax, eax
je 0x9a18dc
push 2
push ebx
call fcn.00982bc0
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x14c], 0
jne 0x9a1982
push 0x12
push str.Transfer_Encoding:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a193e
push 1
add edi, 0x12
push edi
push esi
call fcn.00984800
add esp, 0xc
test eax, eax
jne 0x9a1eec
cmp dword [esi + 0x150], eax
jne 0x9a1eea
push 1
push ebx
call fcn.00982bc0
add esp, 8
pop edi
mov dword [esi + 0x154], 1
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x14c], 0
jne 0x9a1982
push 0x11
push str.Content_Encoding:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1982
cmp dword [esi + 0x5c0], 0
je 0x9a1982
push 0
add edi, 0x11
push edi
push esi
call fcn.00984800
add esp, 0xc
test eax, eax
je 0x9a1eea
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xc
push str.Retry_After:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1a0c
xor eax, eax
add edi, 0xc
push edi
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp + 8], edi
call fcn.009ad010
mov edi, eax
add esp, 4
mov ebx, edx
cmp edi, 0xffffffff
jne 0x9a19e9
cmp ebx, eax
jne 0x9a19e9
mov edx, dword [ebp + 8]
lea ecx, [ebp - 8]
push ecx
push 0xa
push 0
push edx
call fcn.009ad210
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
add esp, 0x10
mov dword [esi + 0xf20], edi
pop edi
mov dword [esi + 0xf24], ebx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call fcn.0095cfc4
add esp, 4
sub edi, eax
sbb ebx, edx
mov dword [esi + 0xf20], edi
pop edi
mov dword [esi + 0xf24], ebx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x14c], 0
jne 0x9a1ace
push 0xe
push str.Content_Range:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1ace
mov al, byte [edi + 0xe]
add edi, 0xe
test al, al
je 0x9a1a5d
jmp 0x9a1a40
movzx eax, al
push eax
call fcn.009ad2f0
add esp, 4
test eax, eax
jne 0x9a1a5d
cmp byte [edi], 0x2a
je 0x9a1a5d
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x9a1a40
movzx ecx, byte [edi]
push ecx
call fcn.009ad2f0
add esp, 4
test eax, eax
je 0x9a1ab9
lea ebx, [esi + 0xe8]
push ebx
push 0xa
push 0
push edi
call fcn.009ad210
add esp, 0x10
test eax, eax
jne 0x9a1eea
mov edx, dword [esi + 0xd80]
cmp edx, dword [ebx]
jne 0x9a1eea
mov eax, dword [esi + 0xd84]
cmp eax, dword [ebx + 4]
jne 0x9a1eea
pop edi
mov dword [esi + 0x140], 1
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
mov dword [esi + 0xd80], eax
mov dword [esi + 0xd84], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x860], 0
je 0x9a1be2
cmp dword [esi + 0xea0], 0
je 0x9a1be2
push 0xb
push str.Set_Cookie:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1be2
mov eax, dword [esi + 0xe48]
test eax, eax
je 0x9a1b0f
mov dword [ebp + 8], eax
jmp 0x9a1b15
mov ecx, dword [ebx + 0x60]
mov dword [ebp + 8], ecx
mov edx, dword [ebx + 0x338]
test byte [edx + 0x44], 2
jne 0x9a1b9e
mov eax, dword [ebp + 8]
push eax
push str.localhost
call fcn.009842c0
add esp, 8
test eax, eax
jne 0x9a1b9e
mov eax, dword [ebp + 8]
mov ecx, str.127.0.0.1
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x9a1b60
test dl, dl
je 0x9a1b5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x9a1b60
add eax, 2
add ecx, 2
test dl, dl
jne 0x9a1b40
xor eax, eax
jmp 0x9a1b65
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x9a1b9e
mov eax, dword [ebp + 8]
mov ecx, str._::1_
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x9a1b91
test dl, dl
je 0x9a1b8d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x9a1b91
add eax, 2
add ecx, 2
test dl, dl
jne 0x9a1b71
xor eax, eax
jmp 0x9a1b96
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x9a1b9e
xor ebx, ebx
jmp 0x9a1ba3
mov ebx, 1
push 2
push 2
push esi
call fcn.009844c0
mov ecx, dword [esi + 0xdd0]
mov edx, dword [ebp + 8]
mov eax, dword [esi + 0x860]
push ebx
push ecx
push edx
add edi, 0xb
push edi
push 0
push 1
push eax
push esi
call fcn.00980750
push 2
push esi
call fcn.00984500
add esp, 0x34
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x14c], 0
jne 0x9a1c53
push 0xe
push str.Last_Modified:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1c53
cmp dword [esi + 0x404], 0
jne 0x9a1c11
cmp dword [esi + 0x78c], 0
je 0x9a1c53
add edi, 0xe
push edi
call fcn.009ad010
add esp, 4
mov dword [esi + 0x118], eax
mov dword [esi + 0x11c], edx
cmp dword [esi + 0x78c], 0
je 0x9a1eea
mov ecx, eax
mov dword [esi + 0xef0], ecx
mov edx, dword [esi + 0x11c]
pop edi
mov dword [esi + 0xef4], edx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x11
push str.WWW_Authenticate:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1c74
mov eax, dword [esi + 0xf0]
cmp eax, 0x191
je 0x9a1c95
push 0x13
push str.Proxy_authenticate:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1cd7
mov eax, dword [esi + 0xf0]
cmp eax, 0x197
jne 0x9a1cd7
xor ebx, ebx
cmp eax, 0x197
push edi
sete bl
call fcn.0099e2a0
mov edi, eax
add esp, 4
test edi, edi
je 0x9a178c
push edi
push ebx
push esi
call fcn.0099eb00
push edi
mov esi, eax
call dword [0x9fb340]
add esp, 0x10
test esi, esi
je 0x9a1eea
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10
push str.Persistent_Auth:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1d4e
cmp dword [esi + 0xad4], 4
jne 0x9a1eea
push edi
call fcn.0099e2a0
mov edi, eax
add esp, 4
test edi, edi
je 0x9a178c
push 5
push str.false
push edi
call fcn.009844b0
neg eax
sbb eax, eax
neg eax
push edi
push eax
push str.Negotiate:_noauthpersist_____d__header_part:__s
push esi
mov dword [ebx + 0x478], eax
mov dword [ebx + 0x47c], 1
call fcn.0097bd80
push edi
call dword [0x9fb340]
add esp, 0x20
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xf0]
cmp eax, 0x12c
jl 0x9a1df5
cmp eax, 0x190
jge 0x9a1df5
push 9
push str.Location:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1df5
cmp dword [esi + 0x124], 0
jne 0x9a1df5
push edi
call fcn.0099e2a0
add esp, 4
test eax, eax
je 0x9a178c
cmp byte [eax], 0
jne 0x9a1db0
push eax
call dword [0x9fb340]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x7c0], 0
mov dword [esi + 0x124], eax
je 0x9a1eea
push eax
call dword [0x9fb348]
add esp, 4
mov dword [esi + 0x128], eax
test eax, eax
je 0x9a178c
push ebx
mov ebx, esi
call fcn.0099e570
add esp, 4
test eax, eax
je 0x9a1eea
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x864], 0
je 0x9a1e57
push 0x1a
push str.Strict_Transport_Security:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1e57
mov eax, dword [ebx + 0x338]
test byte [eax + 0x4c], 1
je 0x9a1e57
mov ecx, dword [esi + 0xdbc]
mov edx, dword [esi + 0x864]
add edi, 0x1a
push edi
push ecx
push edx
call fcn.0097ea50
add esp, 0xc
test eax, eax
je 0x9a1eea
push str.Illegal_STS_header_skipped
push esi
call fcn.0097bd80
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x868], 0
je 0x9a1ecd
push 8
push str.Alt_Svc:
push edi
call fcn.009844b0
add esp, 0xc
test eax, eax
je 0x9a1ecd
mov eax, dword [ebx + 0x338]
test byte [eax + 0x4c], 1
je 0x9a1ecd
mov edx, dword [ebx + 0xc4]
xor ecx, ecx
cmp byte [ebx + 0x114], 0x14
push edx
sete cl
lea ecx, [ecx*8 + 8]
mov dword [ebp + 8], ecx
call fcn.0097e120
mov ecx, dword [ebx + 0x60]
mov edx, dword [ebp + 8]
movzx eax, ax
push eax
mov eax, dword [esi + 0x868]
push ecx
push edx
add edi, 8
push edi
push eax
push esi
call fcn.0097f430
add esp, 0x1c
test eax, eax
je 0x9a1eea
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x338]
test dword [ecx + 0x44], 0x40000
je 0x9a1eea
push edi
push esi
call fcn.0098ec10
add esp, 8
test eax, eax
jne 0x9a1eec
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret