Function at 0x420fd0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [edi + 0x18]
nop
mov eax, dword [esi + 0x5c]
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x60], eax
mov edx, dword [ecx]
push edx
push 0xa
push eax
call fcn.0046c9e0
mov ecx, dword [ebp + 0x10]
add esp, 0xc
mov dword [esi + 0x64], eax
mov ebx, edi
test eax, eax
je 0x421a20
sub eax, dword [esi + 0x5c]
inc eax
sub dword [ecx], eax
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x64]
inc eax
mov dword [esi + 0x5c], eax
sub eax, dword [esi + 0x60]
push eax
call fcn.0041f5f0
add esp, 4
test eax, eax
jne 0x421b74
cmp dword [esi + 0x50], 0
mov eax, dword [esi + 0x54]
mov dword [esi + 0x64], eax
mov ecx, dword [edi + 0x524]
mov dword [esi + 0x68], ecx
jne 0x42109f
cmp dword [esi + 0x58], 5
jbe 0x42109f
mov ebx, dword [ebp + 0xc]
test dword [ebx + 0x30], 0x40000
mov eax, dword [edi + 0x524]
je 0x421070
push 5
push eax
push str.RTSP_
call fcn.0042b900
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jmp 0x42107c
mov ebx, eax
mov eax, edi
call fcn.0041f550
mov ebx, dword [ebp + 0xc]
test eax, eax
jne 0x4210a2
mov dword [esi + 0x48], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x421a71
pop edi
mov dword [esi + 0x4c], 1
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0xc]
mov eax, dword [esi + 0x68]
mov cl, byte [eax]
cmp cl, 0xa
je 0x421895
cmp cl, 0xd
je 0x42189a
mov ecx, dword [esi + 0x50]
lea edx, [ecx + 1]
mov dword [esi + 0x50], edx
test ecx, ecx
jne 0x42129d
mov ecx, dword [ebx + 0x30]
test cl, 1
je 0x421149
mov ebx, dword [ebp + 0xc]
lea ecx, [esi + 0x78]
push ecx
add ebx, 0x114
push ebx
lea ecx, [ebp + 8]
push ecx
push str._HTTP__d._d__3d
push eax
call fcn.0046d333
add esp, 0x14
cmp eax, 3
jne 0x421102
mov eax, dword [ebp + 8]
lea edx, [eax + eax*4]
jmp 0x421191
lea eax, [esi + 0x78]
push eax
mov eax, dword [esi + 0x68]
push str._HTTP__3d
push eax
call fcn.0046d333
add esp, 0xc
mov dword [ebx], 0xa
test eax, eax
jne 0x421195
mov ebx, dword [esi + 0x68]
mov eax, edi
call fcn.0041f550
test eax, eax
je 0x421a8c
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x78], 0xc8
mov dword [eax + 0x114], 0xa
jmp 0x421195
test ecx, 0x40000
je 0x421a8c
mov ebx, dword [ebp + 0xc]
lea ecx, [esi + 0x78]
push ecx
add ebx, 0x118
push ebx
lea ecx, [ebp - 4]
push ecx
push str._RTSP__d._d__3d
push eax
call fcn.0046d333
add esp, 0x14
cmp eax, 3
jne 0x421a8c
mov eax, dword [ebp - 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x114], 0xb
add edx, edx
add dword [ebx], edx
mov eax, dword [esi + 0x78]
mov ebx, dword [ebp + 0xc]
mov dword [edi + 0x8674], eax
mov eax, dword [edi + 0x860c]
mov ecx, dword [ebx + 0x114]
mov dword [edi + 0x867c], ecx
test eax, eax
je 0x4211bf
cmp eax, dword [ebx + 0x114]
jle 0x4211cb
mov edx, dword [ebx + 0x114]
mov dword [edi + 0x860c], edx
cmp dword [edi + 0x2b0], 0
je 0x421228
mov eax, dword [esi + 0x78]
cmp eax, 0x190
jl 0x421228
cmp eax, 0x191
jne 0x4211ee
cmp dword [ebx + 0x1a4], 0
jne 0x421228
cmp eax, 0x197
jne 0x4211fe
cmp dword [ebx + 0x1a8], 0
jne 0x421228
mov ecx, dword [edi + 0x8638]
or ecx, dword [edi + 0x863c]
je 0x421a86
cmp dword [edi + 0x210], 1
jne 0x421a86
cmp eax, 0x1a0
jne 0x421a86
mov eax, dword [ebx + 0x114]
cmp eax, 0xa
jne 0x42124d
push str.HTTP_1.0__assume_close_after_body_n
push edi
call fcn.0042d2e0
add esp, 8
mov dword [ebx + 0x194], 1
jmp 0x421265
cmp eax, 0xb
jl 0x421265
cmp dword [ebx + 0x194], 0
jne 0x421265
mov dword [ebx + 0x238], 1
mov eax, dword [esi + 0x78]
sub eax, 0xcc
je 0x421274
sub eax, 0x64
jne 0x42129d
xor eax, eax
cmp dword [edi + 0x200], eax
je 0x421288
mov dword [edi + 0x8684], 1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0xb4], 1
cmp dword [esi + 0xb4], 0
jne 0x421352
cmp dword [edi + 0x30c], 0
jne 0x421352
mov edx, dword [esi + 0x68]
push 0xf
push edx
push str.Content_Length:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x421352
mov eax, dword [esi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.0046dce5
mov ebx, dword [edi + 0x278]
mov ecx, dword [edi + 0x27c]
add esp, 0xc
or ebx, ecx
je 0x42130b
cmp edx, ecx
jg 0x421a9c
jl 0x42130b
cmp eax, dword [edi + 0x278]
ja 0x421a9c
test edx, edx
jl 0x421330
jg 0x421315
test eax, eax
jb 0x421330
push edx
push eax
push edi
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
call fcn.0042af30
add esp, 0xc
jmp 0x421831
mov ecx, dword [ebp + 0xc]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push edi
mov dword [ecx + 0x194], 1
call fcn.0042d2e0
add esp, 0x10
jmp 0x421831
mov edx, dword [esi + 0x68]
push 0xd
push edx
push str.Content_Type:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x4213ad
mov eax, dword [esi + 0x68]
push eax
call fcn.0041e850
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x421ab6
cmp byte [ebx], 0
jne 0x421393
push ebx
call dword [0x4ab4a8]
add esp, 4
jmp 0x421831
mov ecx, dword [edi + 0x869c]
push ecx
call sym.XiuMaster_v3.exe_curl_free
add esp, 4
mov dword [edi + 0x869c], ebx
jmp 0x421831
mov ebx, dword [ebp + 0xc]
cmp dword [ebx + 0x114], 0xa
jne 0x4213f9
cmp dword [ebx + 0x1a0], 0
je 0x4213f9
mov edx, dword [esi + 0x68]
push str.keep_alive
push str.Proxy_Connection:
push edx
call fcn.0041f320
add esp, 0xc
test eax, eax
je 0x4213f9
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push edi
mov dword [ebx + 0x194], 0
call fcn.0042d2e0
add esp, 8
jmp 0x421831
cmp dword [ebx + 0x114], 0xb
jne 0x421442
cmp dword [ebx + 0x1a0], 0
je 0x421442
mov eax, dword [esi + 0x68]
push str.close
push str.Proxy_Connection:
push eax
call fcn.0041f320
add esp, 0xc
test eax, eax
je 0x421442
push str.HTTP_1.1_proxy_connection_set_close__n
push edi
mov dword [ebx + 0x194], 1
call fcn.0042d2e0
add esp, 8
jmp 0x421831
cmp dword [ebx + 0x114], 0xa
jne 0x421482
mov ecx, dword [esi + 0x68]
push str.keep_alive
push str.Connection:
push ecx
call fcn.0041f320
add esp, 0xc
test eax, eax
je 0x421482
push str.HTTP_1.0_connection_set_to_keep_alive__n
push edi
mov dword [ebx + 0x194], 0
call fcn.0042d2e0
add esp, 8
jmp 0x421831
mov edx, dword [esi + 0x68]
push str.close
push str.Connection:
push edx
call fcn.0041f320
add esp, 0xc
test eax, eax
je 0x4214ab
mov dword [ebx + 0x194], 1
jmp 0x421831
mov eax, dword [esi + 0x68]
push str.chunked
push str.Transfer_Encoding:
push eax
call fcn.0041f320
add esp, 0xc
test eax, eax
je 0x4214e6
test dword [ebx + 0x30], 0x40000
jne 0x4214e6
push ebx
mov dword [esi + 0xc8], 1
call fcn.004224a0
add esp, 4
jmp 0x421831
mov ecx, dword [esi + 0x68]
push 0x11
push ecx
push str.Content_Encoding:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x4215f0
cmp dword [edi + 0x348], 0
je 0x4215f0
mov ebx, dword [esi + 0x68]
mov al, byte [ebx + 0x11]
add ebx, 0x11
test al, al
je 0x421538
jmp 0x421520
movzx edx, al
push edx
call fcn.0046ea6b
add esp, 4
test eax, eax
je 0x421538
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x421520
push 8
push ebx
push str.identity
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x42155b
mov dword [esi + 0x88], 0
jmp 0x421831
push 7
push ebx
push str.deflate
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x42157e
mov dword [esi + 0x88], 1
jmp 0x421831
push 4
push ebx
push str.gzip
call fcn.0042b900
add esp, 0xc
test eax, eax
jne 0x4215e1
push 6
push ebx
push str.x_gzip
call fcn.0042b900
add esp, 0xc
test eax, eax
jne 0x4215e1
push 8
push ebx
push str.compress
call fcn.0042b900
add esp, 0xc
test eax, eax
jne 0x4215d2
push 0xa
push ebx
push str.x_compress
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x421831
mov dword [esi + 0x88], 3
jmp 0x421831
mov dword [esi + 0x88], 2
jmp 0x421831
mov eax, dword [esi + 0x68]
push 0xe
push eax
push str.Content_Range:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x421663
mov ebx, dword [esi + 0x68]
mov al, byte [ebx + 0xe]
add ebx, 0xe
test al, al
je 0x42162c
movzx ecx, al
push ecx
call fcn.0046e966
add esp, 4
test eax, eax
jne 0x42162c
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x421614
push 0xa
push 0
push ebx
call fcn.0046dce5
add esp, 0xc
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
cmp dword [edi + 0x8638], eax
jne 0x421831
cmp dword [edi + 0x863c], edx
jne 0x421831
mov dword [esi + 0x6c], 1
jmp 0x421831
cmp dword [edi + 0x408], 0
je 0x4216cb
mov ecx, dword [esi + 0x68]
push 0xb
push ecx
push str.Set_Cookie:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x4216cb
push 2
push 2
push edi
call fcn.0042dad0
mov eax, dword [ebx + 0x224]
add esp, 0xc
test eax, eax
jne 0x42169d
mov eax, dword [ebx + 0x7c]
mov edx, dword [edi + 0x8624]
mov ecx, dword [edi + 0x408]
push edx
push eax
mov eax, dword [esi + 0x68]
add eax, 0xb
push eax
push 1
push ecx
push edi
call fcn.004123b0
push 2
push edi
call fcn.0042db10
add esp, 0x20
jmp 0x421831
mov edx, dword [esi + 0x68]
push 0xe
push edx
push str.Last_Modified:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x42173b
cmp dword [edi + 0x200], 0
jne 0x4216f4
cmp dword [edi + 0x294], 0
je 0x42173b
push 0
call fcn.0046d970
mov ecx, dword [esi + 0x68]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
add ecx, 0xe
push ecx
mov dword [ebp - 0xc], edx
call dword [0x4a3aa8]
add esp, 0xc
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], edx
cmp dword [edi + 0x294], 0
je 0x421831
mov edx, eax
mov dword [edi + 0x8680], edx
jmp 0x421831
mov eax, dword [esi + 0x68]
push 0x11
push eax
push str.WWW_Authenticate:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x42175c
mov eax, dword [esi + 0x78]
cmp eax, 0x191
je 0x42177d
mov ecx, dword [esi + 0x68]
push 0x13
push ecx
push str.Proxy_authenticate:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x421790
mov eax, dword [esi + 0x78]
cmp eax, 0x197
jne 0x421790
mov edx, dword [esi + 0x68]
push edx
push eax
push ebx
call fcn.0041ee20
add esp, 0xc
jmp 0x421829
mov eax, dword [esi + 0x78]
cmp eax, 0x12c
jl 0x421811
cmp eax, 0x190
jge 0x421811
mov eax, dword [esi + 0x68]
push 9
push eax
push str.Location:
call fcn.0042b900
add esp, 0xc
test eax, eax
je 0x421811
mov ecx, dword [esi + 0x68]
push ecx
call fcn.0041e850
add esp, 4
test eax, eax
je 0x421ab6
cmp byte [eax], 0
jne 0x4217dd
push eax
call dword [0x4ab4a8]
add esp, 4
jmp 0x421831
cmp dword [edi + 0x2b4], 0
mov dword [edi + 0xd0], eax
je 0x421831
push eax
call dword [0x4ab4b0]
add esp, 4
mov dword [edi + 0xd4], eax
test eax, eax
je 0x421ab6
mov edx, ebx
push edx
call fcn.0041ea60
add esp, 4
jmp 0x421829
test dword [ebx + 0x30], 0x40000
je 0x421831
mov eax, dword [esi + 0x68]
push eax
mov ecx, ebx
push ecx
call fcn.0042c4f0
add esp, 8
test eax, eax
jne 0x421b74
cmp dword [edi + 0x2bc], 0
mov ebx, 2
je 0x421844
mov ebx, 3
cmp dword [edi + 0x2d8], 0
je 0x421864
mov edx, dword [ebp + 0xc]
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x68]
push edx
push eax
push ecx
push 1
push edi
call fcn.0042d140
add esp, 0x14
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x68]
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ebx
push ecx
call fcn.0042d770
add esp, 0x10
test eax, eax
jne 0x421b74
mov edx, dword [esi + 0x58]
add dword [edi + 0x8688], edx
mov eax, dword [esi + 0x58]
add dword [edi + 0x48], eax
jmp 0x4219ef
cmp cl, 0xd
jne 0x42189e
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
cmp byte [eax], 0xa
jne 0x4218aa
inc eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
cmp eax, 0x64
jl 0x4218dc
cmp eax, 0xc7
jg 0x4218dc
xor eax, eax
mov dword [esi + 0x48], 1
mov dword [esi + 0x50], eax
cmp dword [esi + 0x84], eax
je 0x421929
or dword [esi + 0xa8], 2
mov dword [esi + 0x84], eax
jmp 0x421929
mov edx, dword [esi]
and edx, dword [esi + 4]
mov dword [esi + 0x48], 0
cmp edx, 0xffffffff
jne 0x421929
cmp dword [esi + 0xc8], 0
jne 0x421929
cmp dword [ebx + 0x194], 0
jne 0x421929
cmp dword [ebx + 0x114], 0xb
jl 0x421929
test dword [ebx + 0x30], 0x40000
jne 0x421929
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push edi
call fcn.0042d2e0
add esp, 8
mov dword [ebx + 0x194], 1
cmp dword [esi + 0x78], 0x1a1
jne 0x421943
and dword [esi + 0xa8], 0xfffffffd
mov dword [esi + 0x84], 3
push ebx
call fcn.0041ef50
add esp, 4
test eax, eax
jne 0x421ac2
lea ecx, [eax + 2]
cmp dword [edi + 0x2bc], eax
je 0x421962
lea ecx, [eax + 3]
mov eax, dword [edi + 0x524]
mov ebx, dword [esi + 0x68]
sub ebx, eax
push ebx
push eax
mov eax, dword [ebp + 0xc]
push ecx
push eax
call fcn.0042d770
add esp, 0x10
test eax, eax
jne 0x421b74
add dword [edi + 0x48], ebx
add dword [edi + 0x8688], ebx
mov eax, dword [esi + 0x78]
mov ecx, dword [edi + 0x48]
cmp eax, 0x64
jl 0x4219a3
cmp eax, 0xc7
jg 0x4219a3
mov eax, ecx
jmp 0x4219a5
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x4c], eax
cmp dword [ecx], 0
jne 0x4219e5
mov edx, dword [ebp + 0xc]
push edx
call fcn.0041f6b0
add esp, 4
test eax, eax
jne 0x421b74
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x1d0], 0
je 0x4219e5
push str.Keep_sending_data_to_get_tossed_away__n
push edi
call fcn.0042d2e0
add esp, 8
or dword [esi + 0xa8], 2
cmp dword [esi + 0x48], 0
je 0x421ae0
mov ecx, dword [edi + 0x524]
mov edx, dword [ebp + 0x14]
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], ecx
cmp dword [edx], 0
jne 0x421b72
mov eax, dword [esi + 0x5c]
cmp byte [eax], 0
jne 0x420fe0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ecx]
push edx
call fcn.0041f5f0
add esp, 4
test eax, eax
jne 0x421b74
cmp dword [esi + 0x50], eax
jne 0x421b72
cmp dword [esi + 0x58], 5
jbe 0x421b72
mov ecx, dword [edi + 0x524]
mov eax, dword [ebp + 0xc]
push edi
call fcn.0041f5b0
add esp, 4
test eax, eax
jne 0x421b72
pop edi
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], 2
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
pop edi
mov dword [esi + 0x4c], 2
pop esi
mov dword [eax], ecx
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x78]
push edx
jmp 0x421ac6
pop edi
mov dword [esi + 0x48], 0
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_file_size_exceeded
push edi
call fcn.0042d360
add esp, 8
pop edi
pop esi
mov eax, 0x3f
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x78]
push eax
push str.The_requested_URL_returned_error:__d
push edi
call fcn.0042d360
add esp, 0xc
pop edi
pop esi
mov eax, 0x16
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x2c8], 0
je 0x421af4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 1
jmp 0x421b0b
cmp dword [esi + 0xc8], 0
je 0x421b0b
or eax, 0xffffffff
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x421b19
cmp ecx, eax
je 0x421b2f
push ecx
push eax
push edi
call fcn.0042af30
mov edx, dword [esi]
mov eax, dword [esi + 4]
add esp, 0xc
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
cmp dword [esi + 0x10], 0
jne 0x421b46
cmp dword [esi + 0x14], 0
jne 0x421b46
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 1
jmp 0x421b4e
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x421b55
and dword [esi + 0xa8], 0xfffffffe
cmp dword [edi + 0x2d8], 0
je 0x421b72
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x60]
push eax
push ebx
push ecx
push 1
push edi
call fcn.0042d140
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret