Function at 0x10021040
Capabilities:
Check http status code

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
lea edi, [ebp + 0x4c]
mov edi, edi
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x44]
mov dword [edi + 0x48], eax
push dword [ebx]
push 0xa
push eax
call dword [sym.imp.MSVCRT.dll_memchr]
mov esi, eax
add esp, 0xc
mov dword [edi + 0x4c], esi
test esi, esi
je 0x10021dca
sub esi, dword [edi + 0x44]
inc esi
sub dword [ebx], esi
mov eax, dword [edi + 0x4c]
inc eax
mov dword [edi + 0x44], eax
sub eax, dword [edi + 0x48]
push eax
push edi
push ebp
call fcn.10021f30
add esp, 0xc
test eax, eax
jne 0x10021e05
cmp dword [edi + 0x38], 0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x4c], eax
mov eax, dword [ebp + 0x4bc]
mov dword [edi + 0x50], eax
jne 0x100210ca
cmp dword [edi + 0x40], 5
jbe 0x100210ca
push dword [ebp + 0x4bc]
push ebp
call fcn.10021e10
add esp, 8
test al, al
je 0x10021c90
mov edx, dword [edi + 0x50]
mov al, byte [edx]
cmp al, 0xa
je 0x10021a65
cmp al, 0xd
je 0x10021a69
mov ecx, dword [edi + 0x38]
lea eax, [ecx + 1]
mov dword [edi + 0x38], eax
test ecx, ecx
jne 0x10021302
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x25c]
mov eax, dword [eax + 0x3c]
test al, 3
je 0x10021240
lea ebx, [edi + 0x5c]
push ebx
lea esi, [ecx + 0x12c]
push esi
lea eax, [esp + 0x28]
push eax
push str._HTTP__d._d__d
push edx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x14
cmp eax, 3
jne 0x100211fb
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*4]
add eax, eax
add dword [esi], eax
cmp dword [edi + 0x6c], 2
jne 0x10021151
cmp dword [esi], 0x14
je 0x10021151
push str.Lying_server__not_serving_HTTP_2_n
push ebp
call fcn.10019980
add esp, 8
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx]
mov dword [ebp + 0x8624], eax
mov eax, dword [esi]
mov dword [ebp + 0x862c], eax
mov eax, dword [ebp + 0x85dc]
test eax, eax
je 0x10021173
cmp eax, dword [esi]
jle 0x1002117b
mov eax, dword [esi]
mov dword [ebp + 0x85dc], eax
cmp byte [ebp + 0x274], 0
je 0x100211d2
mov eax, dword [ebx]
cmp eax, 0x190
jl 0x100211d2
cmp eax, 0x191
jne 0x1002119d
cmp byte [ecx + 0x234], 0
jne 0x100211d2
cmp eax, 0x197
jne 0x100211ad
cmp byte [ecx + 0x235], 0
jne 0x100211d2
cmp dword [ebp + 0x85f4], 0
je 0x10021cbd
cmp dword [ebp + 0x200], 1
jne 0x10021cbd
cmp eax, 0x1a0
jne 0x10021cbd
mov eax, dword [esi]
cmp eax, 0xa
jne 0x10021297
push str.HTTP_1.0__assume_close_after_body_n
push ebp
call fcn.10019980
mov ecx, dword [esp + 0x2c]
add esp, 8
mov byte [ecx + 0x230], 1
jmp 0x100212d0
push ebx
push str._HTTP__3d
push dword [edi + 0x50]
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov dword [esi], 0xa
test eax, eax
jne 0x10021151
push dword [edi + 0x50]
push ebp
call fcn.10021e10
add esp, 8
test al, al
je 0x10021dff
mov dword [ebx], 0xc8
mov dword [esi], 0xa
jmp 0x10021151
test eax, 0x40000
je 0x10021dff
lea ebx, [edi + 0x5c]
push ebx
lea esi, [ecx + 0x130]
push esi
lea eax, [esp + 0x18]
push eax
push str._RTSP__d._d__3d
push edx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x14
cmp eax, 3
jne 0x10021dff
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x12c], 0xb
lea eax, [eax + eax*4]
add eax, eax
add dword [esi], eax
lea esi, [ecx + 0x12c]
jmp 0x10021155
cmp eax, 0x14
je 0x100212d0
cmp dword [edi + 0x6c], 1
jne 0x100212a7
cmp dword [ebx], 0x65
je 0x100212d0
cmp eax, 0xb
jl 0x100212d0
cmp byte [ecx + 0x230], 0
jne 0x100212d0
mov esi, dword [ecx + 0x520]
test esi, esi
je 0x100212d0
push ecx
push ebp
call fcn.100240d0
add esp, 8
test al, al
jne 0x100212d0
mov byte [esi], 1
mov eax, dword [ebx]
sub eax, 0xcc
je 0x100212de
sub eax, 0x64
jne 0x10021302
cmp dword [ebp + 0x1f8], 0
je 0x100212ee
mov byte [ebp + 0x8634], 1
mov dword [edi], 0
mov dword [edi + 8], 0
mov byte [edi + 0x8e], 1
cmp byte [edi + 0x8e], 0
jne 0x1002138a
cmp byte [ebp + 0x29b], 0
jne 0x1002138a
push 0xf
push dword [edi + 0x50]
push str.Content_Length:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x1002138a
mov eax, dword [edi + 0x50]
push 0xa
add eax, 0xf
push 0
push eax
call dword [sym.imp.MSVCRT.dll_strtol]
mov ecx, dword [ebp + 0x258]
add esp, 0xc
test ecx, ecx
je 0x10021350
cmp eax, ecx
jg 0x10021cd3
push eax
test eax, eax
js 0x1002136c
push ebp
mov dword [edi], eax
mov dword [edi + 8], eax
call fcn.10027a60
mov ebx, dword [esp + 0x2c]
add esp, 8
jmp 0x10021a0b
mov ebx, dword [esp + 0x28]
push str.Negative_content_length:__ld__closing_after_transfer_n
push ebp
mov byte [ebx + 0x230], 1
call fcn.10019980
add esp, 0xc
jmp 0x10021a0b
push 0xd
push dword [edi + 0x50]
push str.Content_Type:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100213eb
push dword [edi + 0x50]
call fcn.10020ab0
mov esi, eax
add esp, 4
test esi, esi
je 0x10021cee
cmp byte [esi], 0
jne 0x100213cd
push esi
call dword [0x1003e1e8]
mov ebx, dword [esp + 0x28]
add esp, 4
jmp 0x10021a0b
push dword [ebp + 0x864c]
call dword [0x1003e1e8]
mov ebx, dword [esp + 0x28]
add esp, 4
mov dword [ebp + 0x864c], esi
jmp 0x10021a0b
push 7
push dword [edi + 0x50]
push str.Server:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021447
push dword [edi + 0x50]
call fcn.10020ab0
mov ebx, dword [esp + 0x28]
add esp, 4
mov esi, eax
mov ecx, dword [ebx + 0x520]
test ecx, ecx
je 0x10021438
cmp byte [ecx], 0
je 0x10021438
push esi
push ebp
call fcn.10023e90
add esp, 8
test al, al
je 0x10021438
mov eax, dword [ebx + 0x520]
mov byte [eax], 0
push esi
call dword [0x1003e1e8]
add esp, 4
jmp 0x10021a0b
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0x12c], 0xa
jne 0x10021490
cmp byte [ebx + 0x233], 0
je 0x10021490
push str.keep_alive
push str.Proxy_Connection:
push dword [edi + 0x50]
call fcn.100209e0
add esp, 0xc
test al, al
je 0x10021490
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebp
mov byte [ebx + 0x230], 0
call fcn.10019980
add esp, 8
jmp 0x10021a0b
cmp dword [ebx + 0x12c], 0xb
jne 0x100214d5
cmp byte [ebx + 0x233], 0
je 0x100214d5
push str.close
push str.Proxy_Connection:
push dword [edi + 0x50]
call fcn.100209e0
add esp, 0xc
test al, al
je 0x100214d5
push str.HTTP_1.1_proxy_connection_set_close__n
push ebp
mov byte [ebx + 0x230], 1
call fcn.10019980
add esp, 8
jmp 0x10021a0b
cmp dword [ebx + 0x12c], 0xa
jne 0x10021511
push str.keep_alive
push str.Connection:
push dword [edi + 0x50]
call fcn.100209e0
add esp, 0xc
test al, al
je 0x10021511
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebp
mov byte [ebx + 0x230], 0
call fcn.10019980
add esp, 8
jmp 0x10021a0b
push str.close
push str.Connection:
push dword [edi + 0x50]
call fcn.100209e0
add esp, 0xc
test al, al
je 0x10021536
mov byte [ebx + 0x230], 1
jmp 0x10021a0b
push 0x12
push dword [edi + 0x50]
push str.Transfer_Encoding:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021682
mov esi, dword [edi + 0x50]
add esi, 0x12
mov al, byte [esi]
test al, al
je 0x1002157e
lea esp, [esp]
movzx eax, al
push eax
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
jne 0x10021576
cmp byte [esi], 0x2c
jne 0x1002157e
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x10021560
push 7
push esi
push str.chunked
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100215a5
push ebx
mov byte [edi + 0xa0], 1
call fcn.10031290
add esp, 4
add esi, 7
cmp dword [edi + 0x70], 0
jne 0x10021a0b
push 8
push esi
push str.identity
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100215cf
mov dword [edi + 0x70], 0
add esi, 8
jmp 0x10021556
push 7
push esi
push str.deflate
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100215f2
mov dword [edi + 0x70], 1
add esi, 7
jmp 0x10021556
push 4
push esi
push str.gzip
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021615
mov dword [edi + 0x70], 2
add esi, 4
jmp 0x10021556
push 6
push esi
push str.x_gzip
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021638
mov dword [edi + 0x70], 2
add esi, 6
jmp 0x10021556
push 8
push esi
push str.compress
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x1002165b
mov dword [edi + 0x70], 3
add esi, 8
jmp 0x10021556
push 0xa
push esi
push str.x_compress
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021a0b
mov dword [edi + 0x70], 3
add esi, 0xa
jmp 0x10021556
push 0x11
push dword [edi + 0x50]
push str.Content_Encoding:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021785
cmp dword [ebp + 0x2cc], 0
jne 0x100216b2
cmp dword [ebx + 0x12c], 0x14
jne 0x10021785
mov esi, dword [edi + 0x50]
add esi, 0x11
mov al, byte [esi]
test al, al
je 0x100216d9
mov edi, edi
movzx eax, al
push eax
call dword [sym.imp.MSVCRT.dll_isspace]
add esp, 4
test eax, eax
je 0x100216d9
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x100216c0
push 8
push esi
push str.identity
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100216f9
mov dword [edi + 0x70], 0
jmp 0x10021a0b
push 7
push esi
push str.deflate
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021719
mov dword [edi + 0x70], 1
jmp 0x10021a0b
push 4
push esi
push str.gzip
call fcn.100246c0
add esp, 0xc
test eax, eax
jne 0x10021779
push 6
push esi
push str.x_gzip
call fcn.100246c0
add esp, 0xc
test eax, eax
jne 0x10021779
push 8
push esi
push str.compress
call fcn.100246c0
add esp, 0xc
test eax, eax
jne 0x1002176d
push 0xa
push esi
push str.x_compress
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021a0b
mov dword [edi + 0x70], 3
jmp 0x10021a0b
mov dword [edi + 0x70], 2
jmp 0x10021a0b
push 0xe
push dword [edi + 0x50]
push str.Content_Range:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021814
mov esi, dword [edi + 0x50]
add esi, 0xe
mov al, byte [esi]
test al, al
je 0x100217ce
jmp 0x100217b0
movzx eax, al
push eax
call dword [sym.imp.MSVCRT.dll_isdigit]
add esp, 4
test eax, eax
jne 0x100217ce
cmp byte [esi], 0x2a
je 0x100217ce
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x100217b0
movzx eax, byte [esi]
push eax
call dword [sym.imp.MSVCRT.dll_isdigit]
add esp, 4
test eax, eax
je 0x10021805
push 0xa
push 0
push esi
call dword [sym.imp.MSVCRT.dll_strtol]
add esp, 0xc
mov dword [edi + 0x58], eax
cmp dword [ebp + 0x85f4], eax
jne 0x10021a0b
mov byte [edi + 0x54], 1
jmp 0x10021a0b
mov dword [ebp + 0x85f4], 0
jmp 0x10021a0b
cmp dword [ebp + 0x3c8], 0
je 0x1002187c
push 0xb
push dword [edi + 0x50]
push str.Set_Cookie:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x1002187c
push 2
push 2
push ebp
call fcn.10024f20
mov eax, dword [ebx + 0x28c]
add esp, 0xc
test eax, eax
jne 0x10021850
mov eax, dword [ebx + 0x88]
push dword [ebp + 0x85e8]
push eax
mov eax, dword [edi + 0x50]
add eax, 0xb
push eax
push 1
push dword [ebp + 0x3c8]
push ebp
call fcn.10016a00
push 2
push ebp
call fcn.10024f60
add esp, 0x20
jmp 0x10021a0b
push 0xe
push dword [edi + 0x50]
push str.Last_Modified:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100218df
cmp dword [ebp + 0x1f8], 0
jne 0x100218a4
cmp byte [ebp + 0x26d], 0
je 0x100218df
push 0
call dword [0x1003e208]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [edi + 0x50]
add eax, 0xe
push eax
call fcn.1002b7b0
add esp, 0xc
mov dword [edi + 0x74], eax
cmp byte [ebp + 0x26d], 0
je 0x10021a0b
mov dword [ebp + 0x8630], eax
jmp 0x10021a0b
push 0x11
push dword [edi + 0x50]
push str.WWW_Authenticate:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100218ff
mov eax, dword [edi + 0x5c]
cmp eax, 0x191
je 0x1002191f
push 0x13
push dword [edi + 0x50]
push str.Proxy_authenticate:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x10021966
mov eax, dword [edi + 0x5c]
cmp eax, 0x197
jne 0x10021966
push dword [edi + 0x50]
cmp eax, 0x197
sete byte [esp + 0x1c]
call fcn.10020ab0
mov esi, eax
add esp, 4
test esi, esi
je 0x10021cee
push esi
push dword [esp + 0x1c]
push ebx
call fcn.10020d30
push esi
mov ebx, eax
call dword [0x1003e1e8]
add esp, 0x10
test ebx, ebx
jne 0x10021cfb
mov ebx, dword [esp + 0x24]
jmp 0x10021a0b
mov eax, dword [edi + 0x5c]
cmp eax, 0x12c
jl 0x100219f8
cmp eax, 0x190
jge 0x100219f8
push 9
push dword [edi + 0x50]
push str.Location:
call fcn.100246c0
add esp, 0xc
test eax, eax
je 0x100219f8
cmp dword [ebp + 0xdc], 0
jne 0x100219f8
push dword [edi + 0x50]
call fcn.10020ab0
add esp, 4
test eax, eax
je 0x10021cee
cmp byte [eax], 0
jne 0x100219be
push eax
call dword [0x1003e1e8]
add esp, 4
jmp 0x10021a0b
cmp byte [ebp + 0x275], 0
mov dword [ebp + 0xdc], eax
je 0x10021a0b
push eax
call dword [0x1003e1f0]
add esp, 4
mov dword [ebp + 0xe0], eax
test eax, eax
je 0x10021cee
push ebx
call fcn.100220e0
add esp, 4
test eax, eax
jne 0x10021e05
jmp 0x10021a0b
mov eax, dword [ebx + 0x25c]
test dword [eax + 0x3c], 0x40000
jne 0x10021d05
cmp byte [ebp + 0x278], 0
mov esi, 2
je 0x10021a1e
mov esi, 3
cmp byte [ebp + 0x284], 0
je 0x10021a39
push ebx
push dword [edi + 0x40]
push dword [edi + 0x50]
push 1
push ebp
call fcn.100197e0
add esp, 0x14
push dword [edi + 0x40]
push dword [edi + 0x50]
push esi
push ebx
call fcn.100197b0
add esp, 0x10
test eax, eax
jne 0x10021e05
mov eax, dword [edi + 0x40]
add dword [ebp + 0x8638], eax
mov eax, dword [edi + 0x40]
add dword [ebp + 0x64], eax
jmp 0x10021bca
cmp al, 0xd
jne 0x10021a6f
lea eax, [edx + 1]
mov dword [edi + 0x50], eax
mov eax, dword [edi + 0x50]
cmp byte [eax], 0xa
jne 0x10021a7b
inc eax
mov dword [edi + 0x50], eax
mov eax, dword [edi + 0x5c]
cmp eax, 0x64
jl 0x10021c1e
cmp eax, 0xc7
jg 0x10021c1e
mov byte [edi + 0x30], 1
mov dword [edi + 0x38], 0
sub eax, 0x64
je 0x10021bfd
dec eax
jne 0x10021ab3
cmp dword [edi + 0x6c], 1
je 0x10021d12
mov ebx, dword [esp + 0x24]
push ebx
call fcn.10022220
add esp, 4
test eax, eax
jne 0x10021dac
lea ecx, [eax + 2]
cmp byte [ebp + 0x278], al
je 0x10021ad6
lea ecx, [eax + 3]
mov eax, dword [ebp + 0x4bc]
mov esi, dword [edi + 0x50]
sub esi, eax
push esi
push eax
push ecx
push ebx
call fcn.100197b0
add esp, 0x10
test eax, eax
jne 0x10021e05
add dword [ebp + 0x64], esi
add dword [ebp + 0x8638], esi
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp + 0x64]
cmp eax, 0x64
jl 0x10021b10
cmp eax, 0xc7
jle 0x10021b12
xor ecx, ecx
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x68], ecx
cmp byte [eax], 0
jne 0x10021bc0
push ebx
call fcn.10020b70
add esp, 4
test eax, eax
jne 0x10021e05
cmp dword [edi + 0x5c], 0x12c
jl 0x10021b9e
cmp byte [ebx + 0x23e], al
jne 0x10021b9e
cmp byte [ebx + 0x230], al
jne 0x10021b9e
cmp byte [ebx + 0x23f], al
jne 0x10021ba7
mov eax, dword [ebp + 0x200]
add eax, 0xfffffffe
cmp eax, 2
ja 0x10021b9e
cmp byte [edi + 0x8c], 0
jne 0x10021b9e
push str.HTTP_error_before_end_of_send__stop_sending_n
push ebp
call fcn.10019980
mov byte [ebx + 0x230], 1
add esp, 8
and dword [edi + 0x88], 0xfffffffd
mov byte [edi + 0x8c], 1
cmp byte [ebp + 0x85e0], 0
je 0x10021b9e
mov dword [edi + 0x68], 3
cmp byte [ebx + 0x23f], 0
je 0x10021bbc
push str.Keep_sending_data_to_get_tossed_away__n
push ebp
call fcn.10019980
add esp, 8
or dword [edi + 0x88], 2
mov eax, dword [esp + 0x2c]
cmp byte [edi + 0x30], 0
je 0x10021d34
mov eax, dword [ebp + 0x4bc]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x40], 0
cmp byte [eax], 0
jne 0x10021e03
mov eax, dword [edi + 0x44]
cmp byte [eax], 0
jne 0x10021050
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
cmp dword [edi + 0x68], 0
mov ebx, dword [esp + 0x24]
je 0x10021ab7
or dword [edi + 0x88], 2
mov dword [edi + 0x68], 0
jmp 0x10021ab7
cmp dword [edi], 0xffffffff
mov byte [edi + 0x30], 0
jne 0x10021ab3
cmp byte [edi + 0xa0], 0
mov ebx, dword [esp + 0x24]
jne 0x10021ab7
cmp byte [ebx + 0x230], 0
jne 0x10021ab7
cmp dword [ebx + 0x12c], 0xb
jne 0x10021ab7
mov eax, dword [ebx + 0x25c]
test dword [eax + 0x3c], 0x40000
jne 0x10021ab7
cmp dword [ebp + 0x200], 5
je 0x10021ab7
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push ebp
call fcn.10019980
add esp, 8
mov byte [ebx + 0x230], 1
jmp 0x10021ab7
mov byte [edi + 0x30], 0
cmp dword [ebx], 0
je 0x10021caa
mov dword [edi + 0x34], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov dword [edi + 0x34], 2
xor eax, eax
pop edi
mov dword [ebx], esi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push ebp
call fcn.100224a0
add esp, 4
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push str.Maximum_file_size_exceeded
push ebp
call fcn.100198b0
add esp, 8
mov eax, 0x3f
pop edi
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
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xc
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc
ret
push str.Received_101_n
push ebp
call fcn.10019980
add esp, 8
mov dword [edi + 0x6c], 2
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
cmp byte [ebp + 0x27b], 0
je 0x10021d42
mov byte [eax], 1
jmp 0x10021d58
cmp byte [edi + 0xa0], 0
je 0x10021d58
mov dword [edi], 0xffffffff
mov dword [edi + 8], 0xffffffff
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x10021d6e
push eax
push ebp
call fcn.10027a60
mov eax, dword [edi]
add esp, 8
mov dword [edi + 8], eax
cmp dword [edi + 8], 0
mov eax, dword [esp + 0x2c]
jne 0x10021d7d
mov byte [eax], 1
jmp 0x10021d82
cmp byte [eax], 0
je 0x10021d89
and dword [edi + 0x88], 0xfffffffe
cmp byte [ebp + 0x284], 0
je 0x10021e03
push ebx
push esi
push dword [edi + 0x48]
push 1
push ebp
call fcn.100197e0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push dword [edi + 0x5c]
push str.The_requested_URL_returned_error:__d
push ebp
call fcn.100198b0
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push dword [ebx]
push edi
push ebp
call fcn.10021f30
add esp, 0xc
test eax, eax
jne 0x10021e05
cmp dword [edi + 0x38], eax
jne 0x10021e03
cmp dword [edi + 0x40], 5
jbe 0x10021e03
push dword [ebp + 0x4bc]
push ebp
call fcn.10021e10
add esp, 8
test al, al
jne 0x10021e03
mov dword [edi + 0x34], 2
mov byte [edi + 0x30], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret