Function at 0x10078780
Capabilities:
Check http status code

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x18]
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
xor edi, edi
cmp dword [ebp + 0x154], edi
jne 0x10078870
cmp dword [ebp + 0x7a8], edi
jne 0x10078870
push 0xf
push str.Content_Length:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078870
lea eax, [esp + 0x10]
push eax
push 0xa
push edi
add ebx, 0xf
push ebx
call fcn.1008a660
add esp, 0x10
cmp eax, edi
jne 0x10078803
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
pop edi
pop esi
mov dword [ebp + 0x80], eax
mov dword [ebp + 0x88], eax
mov dword [ebp + 0x84], ecx
mov dword [ebp + 0x8c], ecx
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp eax, 1
jne 0x10078855
mov ecx, dword [ebp + 0x530]
or ecx, dword [ebp + 0x534]
je 0x10078831
push str.Maximum_file_size_exceeded
push ebp
call fcn.1005aa90
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x3f
pop ebx
add esp, 8
ret
mov edx, dword [esp + 0x20]
push 2
push edx
call fcn.10060420
push str.Overflow_Content_Length:_value
push ebp
call fcn.1005abd0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push str.Invalid_Content_Length:_value
push ebp
call fcn.1005aa90
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 8
ret
push 0xd
push str.Content_Type:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x100788d9
push ebx
call fcn.10075510
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x100788a0
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 8
ret
cmp byte [esi], 0
jne 0x100788b9
push esi
call dword [0x10279004]
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [ebp + 0xf14]
push eax
call dword [0x10279004]
add esp, 4
pop edi
mov dword [ebp + 0xf14], esi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov esi, dword [esp + 0x20]
cmp byte [esi + 0x3bb], 0xa
jne 0x10078928
cmp dword [esi + 0x1d8], edi
je 0x10078928
push 0xa
push str.keep_alive
push 0x11
push str.Proxy_Connection:
push ebx
call fcn.100762e0
add esp, 0x14
test eax, eax
je 0x10078928
push edi
push esi
call fcn.10060420
push str.HTTP_1.0_proxy_connection_set_to_keep_alive
push ebp
call fcn.1005abd0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp byte [esi + 0x3bb], 0xb
jne 0x10078974
cmp dword [esi + 0x1d8], edi
je 0x10078974
push 5
push str.close
push 0x11
push str.Proxy_Connection:
push ebx
call fcn.100762e0
add esp, 0x14
test eax, eax
je 0x10078974
push 1
push esi
call fcn.10060420
push str.HTTP_1.1_proxy_connection_set_close
push ebp
call fcn.1005abd0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp byte [esi + 0x3bb], 0xa
jne 0x100789b7
push 0xa
push str.keep_alive
push 0xb
push str.Connection:
push ebx
call fcn.100762e0
add esp, 0x14
test eax, eax
je 0x100789b7
push edi
push esi
call fcn.10060420
push str.HTTP_1.0_connection_set_to_keep_alive
push ebp
call fcn.1005abd0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 5
push str.close
push 0xb
push str.Connection:
push ebx
call fcn.100762e0
add esp, 0x14
test eax, eax
je 0x100789e7
push 2
push esi
call fcn.10060420
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x154], edi
jne 0x10078a8b
push 0x12
push str.Transfer_Encoding:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078a49
push 1
add ebx, 0x12
push ebx
push ebp
call fcn.10059240
add esp, 0xc
cmp eax, edi
jne 0x10078f4b
cmp dword [ebp + 0x158], edi
jne 0x10078f49
push 1
push esi
call fcn.10060420
add esp, 8
pop edi
pop esi
mov dword [ebp + 0x15c], 1
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x154], edi
jne 0x10078a8b
push 0x11
push str.Content_Encoding:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078a8b
cmp dword [ebp + 0x578], edi
je 0x10078a8b
push edi
add ebx, 0x11
push ebx
push ebp
call fcn.10059240
add esp, 0xc
cmp eax, edi
je 0x10078f49
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
push 0xc
push str.Retry_After:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078b26
lea ecx, [esp + 0x10]
push ecx
push 0xa
add ebx, 0xc
push edi
push ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call fcn.1008a660
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, esi
add esp, 0x10
or edx, eax
jne 0x10078b10
push ebx
call fcn.10084320
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
mov ebx, edx
jne 0x10078ae3
cmp ebx, eax
je 0x10078b08
push edi
call fcn.101b4bbe
add esp, 4
sub esi, eax
sbb ebx, edx
pop edi
mov eax, ebx
mov dword [ebp + 0xf20], esi
pop esi
mov dword [ebp + 0xf24], eax
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
pop edi
mov dword [ebp + 0xf20], esi
pop esi
mov dword [ebp + 0xf24], eax
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x154], edi
jne 0x10078bd6
push 0xe
push str.Content_Range:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078bd6
mov al, byte [ebx + 0xe]
add ebx, 0xe
test al, al
je 0x10078b6a
cmp al, 0x30
jl 0x10078b5c
cmp al, 0x39
jle 0x10078b6a
cmp al, 0x2a
je 0x10078b6a
mov al, byte [ebx + 1]
add ebx, 1
test al, al
jne 0x10078b54
mov al, byte [ebx]
cmp al, 0x30
jl 0x10078bc0
cmp al, 0x39
jg 0x10078bc0
lea esi, [ebp + 0xd8]
push esi
push 0xa
push edi
push ebx
call fcn.1008a660
add esp, 0x10
test eax, eax
jne 0x10078f49
mov eax, dword [ebp + 0xd98]
cmp eax, dword [esi]
jne 0x10078f49
mov ecx, dword [ebp + 0xd9c]
cmp ecx, dword [esi + 4]
jne 0x10078f49
pop edi
pop esi
mov dword [ebp + 0x148], 1
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
mov dword [ebp + 0xd98], edi
mov dword [ebp + 0xd9c], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x7f8], edi
je 0x10078ca7
cmp dword [ebp + 0xebc], edi
je 0x10078ca7
push 0xb
push str.Set_Cookie:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078ca7
mov eax, dword [ebp + 0xe6c]
cmp eax, edi
jne 0x10078c13
mov eax, dword [esi + 0x4c]
mov edx, dword [esi + 0x254]
test byte [edx + 0x44], 2
mov dword [esp + 0x1c], eax
jne 0x10078c61
push eax
push str.localhost
call fcn.10051ee0
add esp, 8
test eax, eax
jne 0x10078c61
mov esi, dword [esp + 0x1c]
mov edi, str.127.0.0.1
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10078c61
mov esi, dword [esp + 0x1c]
mov edi, 0x101f18a0
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10078c61
xor esi, esi
jmp 0x10078c66
mov esi, 1
push 2
push 2
push ebp
call fcn.10058f70
mov eax, dword [ebp + 0xddc]
mov ecx, dword [esp + 0x28]
mov edx, dword [ebp + 0x7f8]
push esi
push eax
push ecx
add ebx, 0xb
push ebx
push 0
push 1
push edx
push ebp
call fcn.10057e50
push 2
push ebp
call fcn.10058fb0
add esp, 0x34
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x154], edi
jne 0x10078d14
push 0xe
push str.Last_Modified:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078d14
cmp byte [ebp + 0x3e8], 0
jne 0x10078cd4
cmp dword [ebp + 0x738], edi
je 0x10078d14
add ebx, 0xe
push ebx
call fcn.10084320
add esp, 4
mov dword [ebp + 0x108], eax
mov dword [ebp + 0x10c], edx
cmp dword [ebp + 0x738], edi
je 0x10078f49
mov dword [ebp + 0xef0], eax
mov ecx, dword [ebp + 0x10c]
pop edi
pop esi
mov dword [ebp + 0xef4], ecx
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 0x11
push str.WWW_Authenticate:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078d35
mov eax, dword [ebp + 0xe0]
cmp eax, 0x191
je 0x10078d56
push 0x13
push str.Proxy_authenticate:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078d9b
mov eax, dword [ebp + 0xe0]
cmp eax, 0x197
jne 0x10078d9b
xor edx, edx
cmp eax, 0x197
sete dl
push ebx
mov edi, edx
call fcn.10075510
mov esi, eax
add esp, 4
test esi, esi
je 0x10078893
push esi
push edi
push ebp
call fcn.10075c70
push esi
mov ebx, eax
call dword [0x10279004]
add esp, 0x10
test ebx, ebx
je 0x10078f49
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 8
ret
mov eax, dword [ebp + 0xe0]
cmp eax, 0x12c
jl 0x10078e52
cmp eax, 0x190
jge 0x10078e52
push 9
push str.Location:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078e52
cmp dword [ebp + 0x114], edi
jne 0x10078e52
push ebx
call fcn.10075510
add esp, 4
cmp eax, edi
je 0x10078893
cmp byte [eax], 0
jne 0x10078e01
push eax
call dword [0x10279004]
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x770], edi
mov dword [ebp + 0x114], eax
je 0x10078f49
push eax
call dword [0x1027900c]
add esp, 4
cmp eax, edi
mov dword [ebp + 0x118], eax
je 0x10078893
push esi
mov esi, ebp
call fcn.10075800
add esp, 4
cmp eax, edi
jne 0x10078f4b
pop edi
pop esi
mov dword [ebp + 0xe8c], 1
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x7fc], edi
je 0x10078eb1
push 0x1a
push str.Strict_Transport_Security:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078eb1
mov eax, dword [esi + 0x254]
test byte [eax + 0x4c], 1
je 0x10078eb1
mov ecx, dword [esi + 0x4c]
mov edx, dword [ebp + 0x7fc]
add ebx, 0x1a
push ebx
push ecx
push edx
call fcn.10059d60
add esp, 0xc
test eax, eax
je 0x10078f49
push str.Illegal_STS_header_skipped
push ebp
call fcn.1005abd0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
cmp dword [ebp + 0x800], edi
je 0x10078f2c
push 8
push str.Alt_Svc:
push ebx
call fcn.10051f80
add esp, 0xc
test eax, eax
je 0x10078f2c
mov eax, dword [esi + 0x254]
test byte [eax + 0x4c], 1
je 0x10078f2c
mov al, byte [esi + 0x3bb]
cmp al, 0x1e
jne 0x10078eea
mov edi, 0x20
jmp 0x10078efa
xor ecx, ecx
cmp al, 0x14
sete cl
lea ecx, [ecx*8 + 8]
mov edi, ecx
mov edx, dword [esi + 0x3ac]
push edx
call fcn.1004d8d0
mov ecx, dword [ebp + 0x800]
add ebx, 8
push eax
mov eax, dword [esi + 0x4c]
push eax
push edi
push ebx
push ecx
push ebp
call fcn.10052880
add esp, 0x1c
test eax, eax
je 0x10078f49
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov edx, dword [esi + 0x254]
test dword [edx + 0x44], 0x40000
je 0x10078f49
push ebx
push ebp
call fcn.10065660
add esp, 8
cmp eax, edi
jne 0x10078f4b
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret