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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x18], 0
mov ebp, dword [edi]
mov eax, dword [ebp + 0xcc]
mov ecx, eax
and ecx, 5
cmp cl, 1
jne 0x45989d
mov ecx, dword [edi + 0x100]
jmp 0x4598a0
or ecx, 0xffffffff
and eax, 0xa
cmp al, 2
jne 0x4598af
mov eax, dword [edi + 0x104]
jmp 0x4598b2
or eax, 0xffffffff
push 0
push eax
push ecx
call fcn.0046ad20
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x2c], eax
jne 0x4598e2
push str.select_poll_returned_error
push ebp
call fcn.00452e00
add esp, 8
mov eax, 0x37
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
test byte [ebp + 0xcc], 1
je 0x45ab85
test al, 1
jne 0x459901
mov al, byte [edi + 0xd6]
test al, al
je 0x45ab85
mov eax, dword [ebp + 0x294]
test eax, eax
mov esi, eax
jne 0x459912
mov esi, 0x4000
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x459940
mov dl, byte [ebp + 0x70]
test dl, dl
jne 0x459940
mov ebx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
sub eax, ebx
sbb ecx, edx
xor edx, edx
cmp ecx, edx
jg 0x459940
jl 0x45993e
cmp eax, esi
jae 0x459940
mov esi, eax
mov ecx, dword [ebp + 0xc0]
mov edx, dword [edi + 0x100]
lea eax, [esp + 0x14]
push eax
push esi
push ecx
push edx
push edi
call fcn.00453110
add esp, 0x14
test eax, eax
jl 0x45ab85
mov dword [esp + 0x1c], eax
jg 0x45b16c
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
or eax, ecx
jne 0x4599a9
mov ecx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x54]
or ecx, eax
jne 0x4599a9
push 4
push ebp
call fcn.0045fd60
mov al, byte [ebp + 0xb1]
add esp, 8
test al, al
je 0x4599a9
call fcn.0045fc10
mov dword [ebp + 0xa8], eax
mov dword [ebp + 0xac], edx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
or edx, 1
test eax, eax
mov dword [esp + 0x18], edx
jne 0x4599cd
mov ecx, dword [ebp + 0xbc]
test ecx, ecx
jne 0x4599cd
mov byte [esp + 0x13], 1
jmp 0x4599da
test eax, eax
mov byte [esp + 0x13], 0
jle 0x45ab77
mov edx, dword [ebp + 0xc0]
mov byte [edx + eax], 0
mov cl, byte [ebp + 0x70]
mov eax, dword [ebp + 0xc0]
test cl, cl
mov dword [ebp + 0x84], eax
je 0x45a805
mov dword [ebp + 0x88], eax
mov ecx, dword [esp + 0x14]
push ecx
push 0xa
push eax
mov byte [esp + 0x1e], 0
call fcn.004271d0
add esp, 0xc
mov dword [ebp + 0x8c], eax
test eax, eax
je 0x45a66c
mov ebx, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x84]
mov edi, dword [esp + 0x14]
sub ebx, ecx
inc ebx
sub edi, ebx
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0x8c]
mov esi, dword [ebp + 0x88]
mov edx, dword [ebp + 0x80]
inc eax
mov dword [ebp + 0x84], eax
mov ecx, dword [ebp + 0x430]
sub eax, esi
mov dword [esp + 0x20], eax
add eax, edx
cmp eax, ecx
jb 0x459aa5
lea eax, [eax + eax*2]
lea edi, [ecx + ecx]
shr eax, 1
cmp eax, edi
jbe 0x459a76
mov edi, eax
mov eax, dword [ebp + 0x42c]
mov esi, dword [ebp + 0x7c]
push edi
push eax
sub esi, eax
call dword [0x4aa524]
add esp, 8
test eax, eax
je 0x45ae83
mov dword [ebp + 0x430], edi
mov dword [ebp + 0x42c], eax
add eax, esi
mov dword [ebp + 0x7c], eax
mov edx, dword [esp + 0x20]
mov esi, dword [ebp + 0x88]
mov edi, dword [ebp + 0x7c]
mov ecx, edx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x80]
add esi, edx
add ecx, edx
mov eax, esi
mov dword [ebp + 0x7c], esi
mov dword [ebp + 0x80], ecx
mov byte [eax], 0
mov ecx, dword [ebp + 0x7c]
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x8c], ecx
mov edx, dword [ebp + 0x42c]
test eax, eax
mov dword [ebp + 0x90], edx
jne 0x459b1a
cmp dword [ebp + 0x80], 5
jbe 0x459b1a
mov eax, dword [ebp + 0x42c]
push eax
push ebp
call fcn.0045b180
add esp, 8
test al, al
je 0x45a735
mov eax, dword [ebp + 0x90]
mov cl, byte [eax]
cmp cl, 0xa
je 0x45a489
cmp cl, 0xd
je 0x45a48e
mov ecx, dword [ebp + 0x78]
test ecx, ecx
lea edx, [ecx + 1]
mov dword [ebp + 0x78], edx
jne 0x459c82
lea edi, [ebp + 0xa0]
lea esi, [ebp + 0xa4]
push edi
lea ecx, [esp + 0x28]
push esi
push ecx
push str._HTTP__d._d__3d
push eax
call fcn.0047154a
add esp, 0x14
cmp eax, 3
jne 0x459b7e
mov eax, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [esi]
shl edx, 1
add eax, edx
xor ebx, ebx
mov dword [esi], eax
jmp 0x459bd0
mov eax, dword [ebp + 0x90]
push edi
push str._HTTP__3d
push eax
call fcn.0047154a
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
mov dword [esi], 0xa
jne 0x459bd0
mov ecx, dword [ebp + 0x90]
push ecx
push ebp
call fcn.0045b180
add esp, 8
test al, al
je 0x45a75d
mov dword [edi], 0xc8
mov ecx, dword [ebp + 0x24c]
xor edx, edx
cmp ecx, 1
setne dl
add edx, 0xa
mov dword [esi], edx
mov eax, dword [edi]
mov dword [ebp + 0x84f8], eax
mov al, byte [ebp + 0x2c5]
mov ecx, dword [esi]
test al, al
mov dword [ebp + 0x8500], ecx
je 0x459c49
mov eax, dword [edi]
cmp eax, 0x190
jl 0x459c49
cmp eax, 0x191
jne 0x459c08
mov edx, dword [esp + 0x3c]
mov cl, byte [edx + 0xc1]
test cl, cl
jne 0x459c49
cmp eax, 0x197
jne 0x459c1d
mov ecx, dword [esp + 0x3c]
mov dl, byte [ecx + 0xc2]
test dl, dl
jne 0x459c49
mov edx, dword [ebp + 0x108]
mov ecx, dword [ebp + 0x10c]
or edx, ecx
je 0x45ae9e
cmp dword [ebp + 0x244], 1
jne 0x45ae9e
cmp eax, 0x1a0
jne 0x45ae9e
cmp dword [esi], 0xa
jne 0x459c59
mov eax, dword [esp + 0x3c]
mov byte [eax + 0xbc], 1
mov edi, dword [edi]
sub edi, 0xcc
je 0x459c6f
sub edi, 0x64
je 0x459c6f
sub edi, 0x70
jne 0x459c82
xor ebx, ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x3c], ebx
mov byte [ebp + 0xd2], 1
mov al, byte [ebp + 0xd2]
test al, al
jne 0x459dce
mov al, byte [ebp + 0x2ef]
test al, al
jne 0x459dce
mov ecx, dword [ebp + 0x90]
push 0xf
push ecx
push str.Content_Length:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x459dce
mov edx, dword [ebp + 0x90]
push 0xa
add edx, 0xf
push 0
push edx
call fcn.00454d00
mov esi, dword [ebp + 0x2a8]
mov ecx, dword [ebp + 0x2ac]
mov edi, esi
add esp, 0xc
or edi, ecx
je 0x459cf6
cmp edx, ecx
jg 0x45aec0
jl 0x459cf6
cmp eax, esi
ja 0x45aec0
test edx, edx
jl 0x459dae
jg 0x459d08
test eax, eax
jb 0x459dae
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x2c], edx
mov dword [ebp + 0x3c], edx
mov edi, dword [esp + 0x3c]
mov al, byte [ebp + 0x2c8]
mov esi, 2
test al, al
je 0x459d2c
mov esi, 3
mov al, byte [ebp + 0x2d8]
test al, al
je 0x459d50
mov edx, dword [ebp + 0x80]
mov eax, dword [ebp + 0x90]
push edi
push edx
push eax
push 1
push ebp
call fcn.00453290
add esp, 0x14
mov ecx, dword [ebp + 0x80]
mov edx, dword [ebp + 0x90]
push ecx
push edx
push esi
push edi
call fcn.00453040
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x45b16c
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x8508]
mov edx, dword [ebp + 0x42c]
add ecx, eax
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x8508], ecx
mov ecx, dword [ebp + 0x80]
add eax, ecx
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x7c], edx
mov dword [ebp + 0x80], 0
jmp 0x45a639
mov ecx, dword [esp + 0x3c]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push ebp
mov byte [ecx + 0xbc], 1
call fcn.00452d90
add esp, 0x10
jmp 0x459d14
mov edx, dword [ebp + 0x90]
push 0xd
push edx
push str.Content_Type:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x459edf
mov esi, dword [ebp + 0x90]
add esi, 0xd
mov al, byte [esi]
test al, al
je 0x459e33
cmp dword [0x4a51d0], 1
jle 0x459e16
and eax, 0xff
push 8
push eax
call fcn.0042a43e
add esp, 8
jmp 0x459e27
mov ecx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x459e33
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x459dfb
push 0xd
push esi
call fcn.0042e8c0
mov edi, eax
add esp, 8
test edi, edi
jne 0x459e59
push 0xa
push esi
call fcn.0042e8c0
mov edi, eax
add esp, 8
test edi, edi
je 0x459d14
mov ebx, 1
cmp dword [0x4a51d0], ebx
jle 0x459e77
xor edx, edx
push 8
mov dl, byte [edi]
push edx
call fcn.0042a43e
add esp, 8
jmp 0x459e87
mov ecx, dword [str.________________________________H]
xor eax, eax
mov al, byte [edi]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x459e92
cmp edi, esi
jbe 0x459e92
dec edi
jmp 0x459e5e
mov edx, dword [ebp + 0x851c]
sub edi, esi
inc edi
push edx
mov ebx, edi
call fcn.00455760
lea eax, [ebx + 1]
push eax
call dword [0x4aa51c]
add esp, 8
mov dword [ebp + 0x851c], eax
test eax, eax
je 0x45afa6
mov ecx, ebx
mov edi, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x851c]
mov byte [eax + ebx], 0
jmp 0x459d14
mov eax, dword [ebp + 0xa4]
mov ebx, 0xa
cmp eax, ebx
jne 0x459f37
mov ecx, dword [esp + 0x3c]
mov al, byte [ecx + 0xc0]
test al, al
je 0x459f37
mov edx, dword [ebp + 0x90]
push str.keep_alive
push str.Proxy_Connection:
push edx
call fcn.00468720
add esp, 0xc
test al, al
je 0x459f37
mov eax, dword [esp + 0x3c]
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebp
mov byte [eax + 0xbc], 0
call fcn.00452d90
add esp, 8
jmp 0x459d14
mov eax, dword [ebp + 0xa4]
mov edi, dword [esp + 0x3c]
cmp eax, 0xb
jne 0x459f87
mov al, byte [edi + 0xc0]
test al, al
je 0x459f87
mov ecx, dword [ebp + 0x90]
push str.close
push str.Proxy_Connection:
push ecx
call fcn.00468720
add esp, 0xc
test al, al
je 0x459f87
push str.HTTP_1.1_proxy_connection_set_close__n
push ebp
mov byte [edi + 0xbc], 1
call fcn.00452d90
add esp, 8
jmp 0x459d18
cmp dword [ebp + 0xa4], ebx
jne 0x459fc6
mov edx, dword [ebp + 0x90]
push str.keep_alive
push str.Connection:
push edx
call fcn.00468720
add esp, 0xc
test al, al
je 0x459fc6
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebp
mov byte [edi + 0xbc], 0
call fcn.00452d90
add esp, 8
jmp 0x459d18
mov eax, dword [ebp + 0x90]
push str.close
push str.Connection:
push eax
call fcn.00468720
add esp, 0xc
test al, al
je 0x459fef
mov byte [edi + 0xbc], 1
jmp 0x459d18
mov ecx, dword [ebp + 0x90]
push str.chunked
push str.Transfer_Encoding:
push ecx
call fcn.00468720
add esp, 0xc
test al, al
je 0x45a021
push edi
mov byte [edi + 0xbe], 1
call fcn.0046c420
add esp, 4
jmp 0x459d18
mov edx, dword [ebp + 0x90]
push 8
push edx
push str.Trailer:
call fcn.00454630
add esp, 0xc
test eax, eax
jne 0x45a47d
mov eax, dword [ebp + 0x90]
push 9
push eax
push str.Trailers:
call fcn.00454630
add esp, 0xc
test eax, eax
jne 0x45a47d
mov ecx, dword [ebp + 0x90]
push 0x11
push ecx
push str.Content_Encoding:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a187
mov eax, dword [ebp + 0x168]
test eax, eax
je 0x45a187
mov esi, dword [ebp + 0x90]
add esi, 0x11
mov al, byte [esi]
test al, al
je 0x45a0d0
cmp dword [0x4a51d0], 1
jle 0x45a0b3
and eax, 0xff
push 8
push eax
call fcn.0042a43e
add esp, 8
jmp 0x45a0c4
mov edx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
je 0x45a0d0
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45a098
push 8
push esi
push str.identity
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a0f3
mov dword [ebp + 0xb4], 0
jmp 0x459d18
push 7
push esi
push str.deflate
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a116
mov dword [ebp + 0xb4], 1
jmp 0x459d18
push 4
push esi
push str.gzip
call fcn.00454630
add esp, 0xc
test eax, eax
jne 0x45a178
push 6
push esi
push str.x_gzip
call fcn.00454630
add esp, 0xc
test eax, eax
jne 0x45a178
push 8
push esi
push str.compress
call fcn.00454630
add esp, 0xc
test eax, eax
jne 0x45a169
push ebx
push esi
push str.x_compress
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x459d18
mov dword [ebp + 0xb4], 3
jmp 0x459d18
mov dword [ebp + 0xb4], 2
jmp 0x459d18
mov eax, dword [ebp + 0x90]
push 0xe
push eax
push str.Content_Range:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a238
mov esi, dword [ebp + 0x90]
add esi, 0xe
mov al, byte [esi]
test al, al
je 0x45a1ec
cmp dword [0x4a51d0], 1
jle 0x45a1cf
and eax, 0xff
push 4
push eax
call fcn.0042a43e
add esp, 8
jmp 0x45a1e0
mov ecx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
jne 0x45a1ec
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45a1b4
push ebx
push 0
push esi
call fcn.00454d00
mov dword [ebp + 0x98], eax
mov dword [ebp + 0x9c], edx
mov edx, dword [ebp + 0x108]
mov eax, dword [ebp + 0x98]
add esp, 0xc
cmp edx, eax
jne 0x459d18
mov eax, dword [ebp + 0x10c]
mov ecx, dword [ebp + 0x9c]
cmp eax, ecx
jne 0x459d18
mov byte [ebp + 0x94], 1
jmp 0x459d18
mov eax, dword [ebp + 0x31c]
test eax, eax
je 0x45a2a4
mov ecx, dword [ebp + 0x90]
push 0xb
push ecx
push str.Set_Cookie:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a2a4
push 2
push 2
push ebp
call fcn.0045e810
mov eax, dword [edi + 0x124]
add esp, 0xc
test eax, eax
jne 0x45a276
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x31c]
push edx
push eax
mov eax, dword [ebp + 0x90]
add eax, 0xb
push eax
push 1
push ecx
push ebp
call fcn.0045c880
push 2
push ebp
call fcn.0045e860
add esp, 0x20
jmp 0x459d18
mov edx, dword [ebp + 0x90]
push 0xe
push edx
push str.Last_Modified:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a313
mov eax, dword [ebp + 0x23c]
test eax, eax
jne 0x45a2d2
mov al, byte [ebp + 0x2bd]
test al, al
je 0x45a313
push 0
call fcn.004270ef
mov ecx, dword [ebp + 0x90]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
add ecx, 0xe
push eax
push ecx
call fcn.00454740
mov dword [ebp + 0xb8], eax
mov cl, byte [ebp + 0x2bd]
add esp, 0xc
test cl, cl
je 0x459d18
mov dword [ebp + 0x8504], eax
jmp 0x459d18
mov edx, dword [ebp + 0x90]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a33a
mov eax, dword [ebp + 0xa0]
cmp eax, 0x191
je 0x45a361
mov eax, dword [ebp + 0x90]
push 0x13
push eax
push str.Proxy_authenticate:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x45a37f
mov eax, dword [ebp + 0xa0]
cmp eax, 0x197
jne 0x45a37f
mov ecx, dword [ebp + 0x90]
push ecx
push eax
push edi
call fcn.00468540
add esp, 0xc
test eax, eax
jne 0x45b16c
jmp 0x459d18
mov eax, dword [ebp + 0xa0]
cmp eax, 0x12c
jl 0x459d18
cmp eax, 0x190
jge 0x459d18
mov edx, dword [ebp + 0x90]
push 9
push edx
push str.Location:
call fcn.00454630
add esp, 0xc
test eax, eax
je 0x459d18
mov al, byte [ebp + 0x2c6]
test al, al
je 0x459d18
mov edi, dword [ebp + 0x90]
mov ebx, 1
add edi, 9
mov al, byte [edi]
test al, al
je 0x45a412
cmp dword [0x4a51d0], ebx
jle 0x45a3f5
and eax, 0xff
push 8
push eax
call fcn.0042a43e
add esp, 8
jmp 0x45a406
mov ecx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x45a412
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x45a3db
mov esi, dword [ebp + 0x8c]
dec esi
cmp esi, edi
jb 0x45a44f
cmp dword [0x4a51d0], ebx
jle 0x45a436
xor edx, edx
push 8
mov dl, byte [esi]
push edx
call fcn.0042a43e
add esp, 8
jmp 0x45a446
mov ecx, dword [str.________________________________H]
xor eax, eax
mov al, byte [esi]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x45a44f
dec esi
cmp esi, edi
jae 0x45a41d
mov bl, byte [esi + 1]
inc esi
cmp esi, edi
je 0x459d14
push edi
mov byte [esi], 0
call dword [0x4aa528]
mov dword [ebp + 0x20], eax
mov byte [esi], bl
mov eax, dword [ebp + 0x20]
add esp, 4
test eax, eax
je 0x45afa6
jmp 0x459d14
mov byte [edi + 0xd4], 1
jmp 0x459d18
cmp cl, 0xd
jne 0x45a495
inc eax
mov dword [ebp + 0x90], eax
mov eax, dword [ebp + 0x90]
cmp byte [eax], 0xa
jne 0x45a4a7
inc eax
mov dword [ebp + 0x90], eax
cmp dword [ebp + 0xa0], 0x64
jne 0x45a4dc
mov al, byte [ebp + 0xb0]
mov byte [ebp + 0x70], 1
test al, al
mov dword [ebp + 0x78], 0
je 0x45a50c
mov eax, dword [ebp + 0xcc]
mov byte [ebp + 0xb0], 0
or al, 2
mov dword [ebp + 0xcc], eax
jmp 0x45a50c
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
and eax, edx
mov byte [ebp + 0x70], 0
cmp eax, 0xffffffff
jne 0x45a50c
mov eax, dword [esp + 0x3c]
mov cl, byte [eax + 0xbe]
test cl, cl
jne 0x45a50c
mov cl, byte [eax + 0xbc]
test cl, cl
jne 0x45a50c
mov byte [eax + 0xcc], 1
cmp dword [ebp + 0xa0], 0x1a1
jne 0x45a52d
mov eax, dword [ebp + 0xcc]
mov byte [ebp + 0xb0], 0
and al, 0xfd
mov dword [ebp + 0xcc], eax
mov edi, dword [esp + 0x3c]
push edi
call fcn.00468680
add esp, 4
test eax, eax
jne 0x45aedb
mov al, byte [ebp + 0x2c8]
mov ecx, 2
test al, al
je 0x45a556
mov ecx, 3
mov eax, dword [ebp + 0x42c]
mov esi, dword [ebp + 0x90]
sub esi, eax
push esi
push eax
push ecx
push edi
call fcn.00453040
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x45b16c
mov eax, dword [ebp + 0x8508]
mov ebx, dword [ebp + 0x58]
add eax, esi
add ebx, esi
mov dword [ebp + 0x8508], eax
mov dword [ebp + 0x58], ebx
mov edx, dword [ebp + 0xa0]
xor ecx, ecx
cmp edx, 0x64
mov edx, dword [ebp + 0x108]
setne cl
mov eax, ebx
dec ecx
and eax, ecx
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x10c]
or edx, eax
je 0x45a5d4
cmp dword [ebp + 0x244], 1
jne 0x45a5d4
cmp dword [ebp + 0xa0], 0x1a0
jne 0x45a5d4
mov byte [esp + 0x12], 1
jmp 0x45a60f
push edi
call fcn.004681e0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x45b16c
mov al, byte [edi + 0xd0]
test al, al
je 0x45a60f
push str.Keep_sending_data_to_get_tossed_away__n
push ebp
call fcn.00452d90
mov eax, dword [ebp + 0xcc]
add esp, 8
or al, 2
mov dword [ebp + 0xcc], eax
mov al, byte [ebp + 0x70]
test al, al
je 0x45a766
mov eax, dword [ebp + 0x42c]
mov dword [ebp + 0x80], 0
mov dword [ebp + 0x7c], eax
mov al, byte [esp + 0x12]
test al, al
jne 0x45ab85
mov eax, dword [ebp + 0x84]
cmp byte [eax], 0
je 0x45a805
mov dword [ebp + 0x88], eax
mov ecx, dword [esp + 0x14]
push ecx
push 0xa
push eax
call fcn.004271d0
add esp, 0xc
mov dword [ebp + 0x8c], eax
test eax, eax
jne 0x459a24
mov edx, dword [ebp + 0x80]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x430]
add eax, edx
cmp eax, ecx
jb 0x45a6bf
lea eax, [eax + eax*2]
lea edi, [ecx + ecx]
shr eax, 1
cmp eax, edi
jbe 0x45a690
mov edi, eax
mov eax, dword [ebp + 0x42c]
mov esi, dword [ebp + 0x7c]
push edi
push eax
sub esi, eax
call dword [0x4aa524]
add esp, 8
test eax, eax
je 0x45ae83
mov dword [ebp + 0x430], edi
mov dword [ebp + 0x42c], eax
add eax, esi
mov dword [ebp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 0x84]
mov edi, dword [ebp + 0x7c]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x80]
add esi, eax
mov dword [ebp + 0x7c], esi
mov ecx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [ebp + 0x78]
test ecx, ecx
mov dword [ebp + 0x80], edx
mov eax, edx
jne 0x45a805
cmp eax, 5
jbe 0x45a805
mov edx, dword [ebp + 0x42c]
push edx
push ebp
call fcn.0045b180
add esp, 8
test al, al
jne 0x45a805
mov byte [ebp + 0x70], al
mov dword [ebp + 0x74], 2
jmp 0x45a805
mov byte [ebp + 0x70], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x45a74d
mov dword [ebp + 0x74], 1
jmp 0x45a7f9
mov dword [ebp + 0x74], 2
mov dword [esp + 0x14], ebx
jmp 0x45a7f9
mov byte [ebp + 0x70], 0
jmp 0x45a7f9
mov al, byte [edi + 0xcc]
test al, al
je 0x45a777
mov byte [esp + 0x12], 1
jmp 0x45a78a
mov al, byte [edi + 0xbe]
test al, al
je 0x45a78a
or eax, 0xffffffff
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
cmp eax, 0xffffffff
jne 0x45a799
cmp ecx, eax
je 0x45a7b0
push ecx
push eax
push ebp
call fcn.0045fef0
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x38], eax
add esp, 0xc
mov dword [ebp + 0x3c], ecx
mov eax, dword [ebp + 0x38]
test eax, eax
jne 0x45a7c5
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x45a7c5
mov byte [esp + 0x12], 1
jmp 0x45a7cd
mov al, byte [esp + 0x12]
test al, al
je 0x45a7db
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
mov al, byte [ebp + 0x2d8]
test al, al
je 0x45a7f9
mov edx, dword [ebp + 0x88]
push edi
push esi
push edx
push 1
push ebp
call fcn.00453290
add esp, 0x14
mov al, byte [esp + 0x12]
test al, al
jne 0x45ab85
mov eax, dword [ebp + 0x84]
test eax, eax
je 0x45ab41
mov al, byte [ebp + 0x70]
test al, al
jne 0x45ab41
mov eax, dword [esp + 0x14]
test eax, eax
jg 0x45a832
mov al, byte [esp + 0x13]
test al, al
je 0x45ab5d
mov eax, dword [ebp + 0xbc]
test eax, eax
jne 0x45a8f6
mov al, byte [esp + 0x13]
test al, al
jne 0x45a8f6
mov edi, dword [esp + 0x3c]
test byte [edi + 0xc], 4
je 0x45a8fa
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x45a884
mov al, byte [edi + 0xbc]
test al, al
jne 0x45aee4
push str.Ignoring_the_response_body_n
push ebp
mov byte [ebp + 0xd1], 1
call fcn.00452d90
add esp, 8
mov eax, dword [ebp + 0x108]
mov ecx, dword [ebp + 0x10c]
or eax, ecx
je 0x45a8b5
mov al, byte [ebp + 0x94]
test al, al
jne 0x45a8b5
cmp dword [ebp + 0x244], 1
jne 0x45a8b5
mov al, byte [ebp + 0xd1]
test al, al
je 0x45af03
mov eax, dword [ebp + 0x23c]
test eax, eax
je 0x45a8fa
mov ecx, dword [ebp + 0x100]
test ecx, ecx
jne 0x45a8fa
mov edx, dword [ebp + 0xb8]
test edx, edx
jle 0x45a8fa
mov ecx, dword [ebp + 0x240]
test ecx, ecx
jle 0x45a8fa
sub eax, 2
je 0x45a8ec
cmp edx, ecx
jl 0x45af1e
jmp 0x45a8fa
cmp edx, ecx
jg 0x45af3d
jmp 0x45a8fa
mov edi, dword [esp + 0x3c]
mov ecx, dword [ebp + 0xbc]
inc ecx
mov dword [ebp + 0xbc], ecx
mov al, byte [ebp + 0x2d8]
test al, al
je 0x45a960
mov eax, dword [ebp + 0x74]
push edi
test eax, eax
je 0x45a949
mov ecx, dword [ebp + 0x80]
mov edx, dword [ebp + 0x42c]
push ecx
push edx
push 3
push ebp
call fcn.00453290
mov eax, dword [ebp + 0x74]
add esp, 0x14
cmp eax, 1
jne 0x45a960
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x84]
push edi
push eax
push ecx
jmp 0x45a955
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x84]
push edx
push eax
push 3
push ebp
call fcn.00453290
add esp, 0x14
mov al, byte [edi + 0xbe]
test al, al
je 0x45a9c5
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x84]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
push edi
call fcn.0046c440
add esp, 0x10
test eax, eax
jg 0x45af5c
cmp eax, 0xffffffff
jne 0x45a9c5
mov ecx, dword [ebp + 0xcc]
and ecx, 0xfffffffe
mov dword [ebp + 0xcc], ecx
mov ecx, dword [ebp + 0x110]
mov esi, dword [ecx + 0x5c]
test esi, esi
je 0x45a9c5
mov edx, dword [edi]
push esi
push str.Leftovers_after_chunking.__Rewinding__d_bytes_n
push edx
call fcn.00452d90
push esi
push edi
call fcn.0045b200
add esp, 0x14
mov eax, dword [ebp + 0x38]
mov esi, dword [ebp + 0x3c]
cmp eax, 0xffffffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
jne 0x45a9e0
cmp esi, eax
je 0x45aafc
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x4c]
mov eax, ecx
cdq
add eax, edi
adc edx, ebx
cmp edx, esi
jl 0x45aa7a
jg 0x45aa01
cmp eax, dword [esp + 0x30]
jb 0x45aa7a
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x48]
mov esi, ecx
sub esi, edx
add esi, eax
je 0x45aa52
mov al, byte [ebp + 0xd1]
test al, al
jne 0x45aa52
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 0x2c]
push ecx
mov ecx, dword [esp + 0x34]
push ebx
push edi
push eax
mov eax, dword [ebp + 0x28]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
push eax
push esi
push str.Rewinding_stream_by_:__d_bytes_on_url__s__size___lld__maxdownload___lld__bytecount___lld__nread___d__n
push ebp
call fcn.00452d90
mov ecx, dword [esp + 0x68]
push esi
push ecx
call fcn.0045b200
add esp, 0x34
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x48]
sub edx, eax
mov dword [esp + 0x14], edx
jns 0x45aa68
mov dword [esp + 0x14], 0
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x3c]
mov eax, ecx
mov ecx, dword [ebp + 0x48]
cdq
add ecx, eax
mov dword [ebp + 0x48], ecx
mov eax, dword [ebp + 0x4c]
adc eax, edx
mov dword [ebp + 0x4c], eax
mov ecx, dword [ebp + 0x48]
push eax
push ecx
push ebp
call fcn.0045feb0
mov al, byte [edi + 0xbe]
add esp, 0xc
test al, al
jne 0x45ab45
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x45aac8
mov eax, dword [ebp + 0x74]
test eax, eax
jne 0x45aacf
mov al, byte [esp + 0x13]
test al, al
je 0x45ab61
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x45ab05
mov al, byte [ebp + 0xd1]
test al, al
jne 0x45ab05
mov edx, dword [ebp + 0x80]
mov eax, dword [ebp + 0x42c]
push edx
push eax
push 1
push edi
call fcn.00453040
add esp, 0x10
test eax, eax
jne 0x45b16c
jmp 0x45ab09
mov ecx, dword [esp + 0x14]
jmp 0x45aa7e
mov eax, dword [esp + 0x1c]
cmp dword [ebp + 0x74], 2
jge 0x45ab30
mov cl, byte [ebp + 0xd1]
test cl, cl
jne 0x45ab30
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x84]
push ecx
push edx
push 1
push edi
call fcn.00453040
add esp, 0x10
test eax, eax
mov dword [ebp + 0x74], 0
jne 0x45b16c
jmp 0x45ab45
mov edi, dword [esp + 0x3c]
mov al, byte [esp + 0x13]
test al, al
je 0x45ab61
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
jmp 0x45ab61
mov edi, dword [esp + 0x3c]
push edi
call fcn.0045b1e0
add esp, 4
test eax, eax
je 0x45ab85
mov edi, dword [esp + 0x3c]
jmp 0x459901
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
test byte [ebp + 0xcc], 2
je 0x45ae3b
test byte [esp + 0x2c], 2
je 0x45ae3b
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
or eax, ecx
jne 0x45abbc
mov ecx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x54]
or ecx, eax
jne 0x45abbc
push 4
push ebp
call fcn.0045fd60
add esp, 8
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0xd8]
mov eax, 2
or edx, eax
test ecx, ecx
mov dword [esp + 0x18], edx
jne 0x45ad06
mov edx, dword [ebp + 0xc4]
mov dword [ebp + 0xdc], edx
mov cl, byte [ebp + 0xd0]
test cl, cl
jne 0x45adc7
mov cl, byte [ebp + 0xb1]
test cl, cl
je 0x45ac0c
mov ecx, dword [ebp + 0x110]
cmp dword [ecx + 0x78], eax
je 0x45adff
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x2c]
push edx
push 0x4000
push edi
call fcn.004596d0
add esp, 0xc
test eax, eax
jne 0x45b16c
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x14], eax
jle 0x45add3
mov dword [ebp + 0xd8], eax
mov al, byte [ebp + 0x215]
test al, al
je 0x45ad0a
mov eax, dword [ebp + 0x8450]
test eax, eax
jne 0x45ac75
push 0x8000
call dword [0x4aa51c]
add esp, 4
mov dword [ebp + 0x8450], eax
test eax, eax
je 0x45af98
mov ecx, dword [esp + 0x14]
xor edx, edx
xor eax, eax
test ecx, ecx
jle 0x45ace6
mov esi, 1
mov ecx, dword [ebp + 0xdc]
mov cl, byte [ecx + edx]
cmp cl, 0xa
jne 0x45acd3
mov ecx, dword [ebp + 0x8450]
inc eax
mov byte [ecx + eax - 1], 0xd
mov ecx, dword [ebp + 0x8450]
mov byte [ecx + eax], 0xa
mov cl, byte [ebp + 0x215]
test cl, cl
jne 0x45acdc
mov ebx, dword [ebp + 0x1c8]
add ebx, esi
mov dword [ebp + 0x1c8], ebx
mov ecx, dword [ebp + 0x1cc]
adc ecx, 0
mov dword [ebp + 0x1cc], ecx
jmp 0x45acdc
mov ebx, dword [ebp + 0x8450]
mov byte [ebx + eax], cl
mov ecx, dword [esp + 0x14]
inc edx
inc eax
cmp edx, ecx
jl 0x45ac86
cmp eax, ecx
je 0x45ad0a
mov dword [esp + 0x14], eax
mov edx, dword [ebp + 0x8450]
mov dword [ebp + 0xdc], edx
mov eax, dword [esp + 0x14]
mov dword [ebp + 0xd8], eax
jmp 0x45ad0a
mov edi, dword [esp + 0x3c]
mov edx, dword [ebp + 0xd8]
mov eax, dword [ebp + 0xdc]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [edi + 0x104]
push edx
push eax
push ecx
push edi
call fcn.00452f50
add esp, 0x14
test eax, eax
jne 0x45b16c
mov al, byte [ebp + 0x2d8]
test al, al
je 0x45ad57
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0xdc]
push edi
push edx
push eax
push 4
push ebp
call fcn.00453290
add esp, 0x14
mov ecx, dword [ebp + 0xd8]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
je 0x45ad7d
sub ecx, eax
mov dword [ebp + 0xd8], ecx
mov ecx, dword [ebp + 0xdc]
add ecx, eax
mov dword [ebp + 0xdc], ecx
jmp 0x45ada4
mov ecx, dword [ebp + 0xc4]
mov dword [ebp + 0xd8], 0
mov dword [ebp + 0xdc], ecx
mov cl, byte [ebp + 0xd0]
test cl, cl
je 0x45ada4
and dword [ebp + 0xcc], 0xfffffffd
mov ecx, dword [ebp + 0x50]
cdq
add ecx, eax
mov dword [ebp + 0x50], ecx
mov ebx, dword [ebp + 0x54]
adc ebx, edx
mov dword [ebp + 0x54], ebx
mov eax, dword [ebp + 0x50]
mov edx, ebx
push edx
push eax
push ebp
call fcn.0045fed0
add esp, 0xc
jmp 0x45ae3f
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x14], 0
mov ecx, dword [ebp + 0xcc]
and ecx, 0xfffffffd
mov dword [ebp + 0xcc], ecx
mov al, byte [edi + 0xd0]
test al, al
je 0x45ae3f
push edi
call fcn.004597c0
add esp, 4
test eax, eax
jne 0x45b16c
jmp 0x45ae3f
mov ecx, dword [ebp + 0xcc]
mov esi, 0xfffffffd
and ecx, esi
mov byte [ebp + 0xb1], 0
mov byte [ebp + 0xb0], 1
mov dword [ebp + 0xcc], ecx
call fcn.0045fc10
mov dword [ebp + 0xa8], eax
mov eax, dword [esp + 0x18]
and eax, esi
mov dword [ebp + 0xac], edx
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x3c]
call fcn.0045fc10
mov dword [ebp + 0x68], eax
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [ebp + 0x6c], edx
je 0x45afb3
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x45ae68
mov ecx, dword [ebp + 0x48]
mov dword [eax], ecx
mov edx, dword [ebp + 0x4c]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x40]
test eax, eax
je 0x45aff7
mov ecx, dword [ebp + 0x50]
mov dword [eax], ecx
mov edx, dword [ebp + 0x54]
mov dword [eax + 4], edx
jmp 0x45aff7
push str.Failed_to_alloc_memory_for_big_header_
push ebp
call fcn.00452e00
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov ecx, dword [ebp + 0xa0]
push ecx
push str.The_requested_URL_returned_error:__d
push ebp
call fcn.00452e00
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push str.Maximum_file_size_exceeded
push ebp
call fcn.00452e00
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov edx, dword [ebp + 0xa0]
push edx
jmp 0x45aea5
mov eax, dword [ebp + 0xcc]
pop edi
and al, 0xfe
pop esi
mov dword [ebp + 0xcc], eax
mov eax, dword [esp + 0x38]
pop ebp
pop ebx
mov byte [eax], 1
xor eax, eax
add esp, 0x28
ret
push str.HTTP_server_doesnt_seem_to_support_byte_ranges._Cannot_resume.
push ebp
call fcn.00452e00
add esp, 8
mov eax, 0x21
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push str.The_requested_document_is_not_new_enough_n
push ebp
call fcn.00452d90
mov ecx, dword [esp + 0x48]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
mov byte [ecx], 1
pop ebx
add esp, 0x28
ret
push str.The_requested_document_is_not_old_enough_n
push ebp
call fcn.00452d90
mov edx, dword [esp + 0x48]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
mov byte [edx], 1
pop ebx
add esp, 0x28
ret
cmp eax, 4
jne 0x45af7c
push str.Failed_writing_data
push ebp
call fcn.00452e00
add esp, 8
mov eax, 0x17
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push eax
push str.Received_problem__d_in_the_chunky_parser
push ebp
call fcn.00452e00
add esp, 0xc
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push str.Failed_to_alloc_scratch_buffer_
push ebp
call fcn.00452e00
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x28
ret
mov al, byte [ebp + 0xb0]
test al, al
je 0x45aff7
mov eax, dword [ebp + 0xac]
mov ecx, dword [ebp + 0xa8]
mov edx, dword [ebp + 0x6c]
push eax
mov eax, dword [ebp + 0x68]
push ecx
push edx
push eax
call fcn.0045fc70
add esp, 0x10
cmp eax, 0x3e8
jle 0x45aff7
mov eax, dword [ebp + 0xcc]
mov byte [ebp + 0xb0], 0
or al, 2
mov dword [ebp + 0xcc], eax
push edi
call fcn.0045ff70
add esp, 4
test eax, eax
je 0x45b011
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x28
ret
mov ecx, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x68]
push ecx
push edx
push ebp
call fcn.0046c310
add esp, 0xc
test eax, eax
jne 0x45b16c
mov eax, dword [ebp + 0x1bc]
test eax, eax
je 0x45b0ab
mov ecx, dword [ebp + 0x60]
mov edx, dword [ebp + 0x6c]
mov esi, eax
mov eax, dword [ebp + 0x64]
push eax
mov eax, dword [ebp + 0x68]
push ecx
push edx
push eax
call fcn.0045fc70
add esp, 0x10
cmp eax, esi
jl 0x45b0ab
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x45b087
push ecx
mov ecx, dword [ebp + 0x48]
push eax
mov eax, dword [ebp + 0x4c]
push eax
push ecx
push esi
push str.Operation_timed_out_after__ld_milliseconds_with__lld_out_of__lld_bytes_received
push ebp
call fcn.00452e00
add esp, 0x1c
mov eax, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov edx, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x48]
push edx
push eax
push esi
push str.Operation_timed_out_after__ld_milliseconds_with__lld_bytes_received
push ebp
call fcn.00452e00
add esp, 0x14
mov eax, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [ebp + 0xcc]
test eax, eax
jne 0x45b156
mov bl, byte [edi + 0xcc]
test bl, bl
jne 0x45b13c
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x45b107
mov edx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x4c]
cmp edx, eax
jne 0x45b0e0
cmp esi, ecx
je 0x45b107
cmp dword [ebp + 0x20], 0
jne 0x45b107
sub eax, edx
sbb ecx, esi
push ecx
push eax
push str.transfer_closed_with__lld_bytes_remaining_to_read
push ebp
call fcn.00452e00
add esp, 0x10
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
test bl, bl
jne 0x45b13c
mov al, byte [edi + 0xbe]
test al, al
je 0x45b13c
mov eax, dword [ebp + 0x110]
cmp dword [eax + 0x54], 8
je 0x45b13c
push str.transfer_closed_with_outstanding_read_data_remaining
push ebp
call fcn.00452e00
add esp, 8
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push edi
call fcn.0045ff70
add esp, 4
test eax, eax
je 0x45b156
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x28
ret
mov ecx, dword [ebp + 0xcc]
mov eax, dword [esp + 0x40]
and ecx, 3
test cl, cl
sete dl
mov byte [eax], dl
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret