Function at 0x4639c0
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 0x4639ed
mov ecx, dword [edi + 0x100]
jmp 0x4639f0
or ecx, 0xffffffff
and eax, 0xa
cmp al, 2
jne 0x4639ff
mov eax, dword [edi + 0x104]
jmp 0x463a02
or eax, 0xffffffff
push 0
push eax
push ecx
call fcn.00474e30
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x2c], eax
jne 0x463a32
push str.select_poll_returned_error
push ebp
call fcn.0045cf40
add esp, 8
mov eax, 0x37
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
test byte [ebp + 0xcc], 1
je 0x464cd5
test al, 1
jne 0x463a51
mov al, byte [edi + 0xd6]
test al, al
je 0x464cd5
mov eax, dword [ebp + 0x294]
test eax, eax
mov esi, eax
jne 0x463a62
mov esi, 0x4000
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x463a90
mov dl, byte [ebp + 0x70]
test dl, dl
jne 0x463a90
mov ebx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
sub eax, ebx
sbb ecx, edx
xor edx, edx
cmp ecx, edx
jg 0x463a90
jl 0x463a8e
cmp eax, esi
jae 0x463a90
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.0045d250
add esp, 0x14
test eax, eax
jl 0x464cd5
mov dword [esp + 0x1c], eax
jg 0x4652bc
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
or eax, ecx
jne 0x463af9
mov ecx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x54]
or ecx, eax
jne 0x463af9
push 4
push ebp
call fcn.00469e70
mov al, byte [ebp + 0xb1]
add esp, 8
test al, al
je 0x463af9
call fcn.00469d60
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 0x463b1d
mov ecx, dword [ebp + 0xbc]
test ecx, ecx
jne 0x463b1d
mov byte [esp + 0x13], 1
jmp 0x463b2a
test eax, eax
mov byte [esp + 0x13], 0
jle 0x464cc7
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 0x464955
mov dword [ebp + 0x88], eax
mov ecx, dword [esp + 0x14]
push ecx
push 0xa
push eax
mov byte [esp + 0x1e], 0
call fcn.0042c5e0
add esp, 0xc
mov dword [ebp + 0x8c], eax
test eax, eax
je 0x4647bc
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 0x463bf5
lea eax, [eax + eax*2]
lea edi, [ecx + ecx]
shr eax, 1
cmp eax, edi
jbe 0x463bc6
mov edi, eax
mov eax, dword [ebp + 0x42c]
mov esi, dword [ebp + 0x7c]
push edi
push eax
sub esi, eax
call dword [0x4ba95c]
add esp, 8
test eax, eax
je 0x464fd3
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 0x463c6a
cmp dword [ebp + 0x80], 5
jbe 0x463c6a
mov eax, dword [ebp + 0x42c]
push eax
push ebp
call fcn.004652d0
add esp, 8
test al, al
je 0x464885
mov eax, dword [ebp + 0x90]
mov cl, byte [eax]
cmp cl, 0xa
je 0x4645d9
cmp cl, 0xd
je 0x4645de
mov ecx, dword [ebp + 0x78]
test ecx, ecx
lea edx, [ecx + 1]
mov dword [ebp + 0x78], edx
jne 0x463dd2
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.0047e7d9
add esp, 0x14
cmp eax, 3
jne 0x463cce
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 0x463d20
mov eax, dword [ebp + 0x90]
push edi
push str._HTTP__3d
push eax
call fcn.0047e7d9
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
mov dword [esi], 0xa
jne 0x463d20
mov ecx, dword [ebp + 0x90]
push ecx
push ebp
call fcn.004652d0
add esp, 8
test al, al
je 0x4648ad
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 0x463d99
mov eax, dword [edi]
cmp eax, 0x190
jl 0x463d99
cmp eax, 0x191
jne 0x463d58
mov edx, dword [esp + 0x3c]
mov cl, byte [edx + 0xc1]
test cl, cl
jne 0x463d99
cmp eax, 0x197
jne 0x463d6d
mov ecx, dword [esp + 0x3c]
mov dl, byte [ecx + 0xc2]
test dl, dl
jne 0x463d99
mov edx, dword [ebp + 0x108]
mov ecx, dword [ebp + 0x10c]
or edx, ecx
je 0x464fee
cmp dword [ebp + 0x244], 1
jne 0x464fee
cmp eax, 0x1a0
jne 0x464fee
cmp dword [esi], 0xa
jne 0x463da9
mov eax, dword [esp + 0x3c]
mov byte [eax + 0xbc], 1
mov edi, dword [edi]
sub edi, 0xcc
je 0x463dbf
sub edi, 0x64
je 0x463dbf
sub edi, 0x70
jne 0x463dd2
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 0x463f1e
mov al, byte [ebp + 0x2ef]
test al, al
jne 0x463f1e
mov ecx, dword [ebp + 0x90]
push 0xf
push ecx
push 0x4bb8d0
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x463f1e
mov edx, dword [ebp + 0x90]
push 0xa
add edx, 0xf
push 0
push edx
call fcn.0045ee40
mov esi, dword [ebp + 0x2a8]
mov ecx, dword [ebp + 0x2ac]
mov edi, esi
add esp, 0xc
or edi, ecx
je 0x463e46
cmp edx, ecx
jg 0x465010
jl 0x463e46
cmp eax, esi
ja 0x465010
test edx, edx
jl 0x463efe
jg 0x463e58
test eax, eax
jb 0x463efe
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 0x463e7c
mov esi, 3
mov al, byte [ebp + 0x2d8]
test al, al
je 0x463ea0
mov edx, dword [ebp + 0x80]
mov eax, dword [ebp + 0x90]
push edi
push edx
push eax
push 1
push ebp
call fcn.0045d3d0
add esp, 0x14
mov ecx, dword [ebp + 0x80]
mov edx, dword [ebp + 0x90]
push ecx
push edx
push esi
push edi
call fcn.0045d180
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4652bc
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 0x464789
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.0045ced0
add esp, 0x10
jmp 0x463e64
mov edx, dword [ebp + 0x90]
push 0xd
push edx
push 0x4bb888
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x46402f
mov esi, dword [ebp + 0x90]
add esi, 0xd
mov al, byte [esi]
test al, al
je 0x463f83
cmp dword [0x4b54f8], 1
jle 0x463f66
and eax, 0xff
push 8
push eax
call fcn.0043056d
add esp, 8
jmp 0x463f77
mov ecx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x463f83
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x463f4b
push 0xd
push esi
call fcn.00432840
mov edi, eax
add esp, 8
test edi, edi
jne 0x463fa9
push 0xa
push esi
call fcn.00432840
mov edi, eax
add esp, 8
test edi, edi
je 0x463e64
mov ebx, 1
cmp dword [0x4b54f8], ebx
jle 0x463fc7
xor edx, edx
push 8
mov dl, byte [edi]
push edx
call fcn.0043056d
add esp, 8
jmp 0x463fd7
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 0x463fe2
cmp edi, esi
jbe 0x463fe2
dec edi
jmp 0x463fae
mov edx, dword [ebp + 0x851c]
sub edi, esi
inc edi
push edx
mov ebx, edi
call fcn.0045f8a0
lea eax, [ebx + 1]
push eax
call dword [0x4ba954]
add esp, 8
mov dword [ebp + 0x851c], eax
test eax, eax
je 0x4650f6
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 0x463e64
mov eax, dword [ebp + 0xa4]
mov ebx, 0xa
cmp eax, ebx
jne 0x464087
mov ecx, dword [esp + 0x3c]
mov al, byte [ecx + 0xc0]
test al, al
je 0x464087
mov edx, dword [ebp + 0x90]
push str.keep_alive
push str.Proxy_Connection:
push edx
call fcn.00472830
add esp, 0xc
test al, al
je 0x464087
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.0045ced0
add esp, 8
jmp 0x463e64
mov eax, dword [ebp + 0xa4]
mov edi, dword [esp + 0x3c]
cmp eax, 0xb
jne 0x4640d7
mov al, byte [edi + 0xc0]
test al, al
je 0x4640d7
mov ecx, dword [ebp + 0x90]
push str.close
push str.Proxy_Connection:
push ecx
call fcn.00472830
add esp, 0xc
test al, al
je 0x4640d7
push str.HTTP_1.1_proxy_connection_set_close__n
push ebp
mov byte [edi + 0xbc], 1
call fcn.0045ced0
add esp, 8
jmp 0x463e68
cmp dword [ebp + 0xa4], ebx
jne 0x464116
mov edx, dword [ebp + 0x90]
push str.keep_alive
push 0x4bb7fc
push edx
call fcn.00472830
add esp, 0xc
test al, al
je 0x464116
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebp
mov byte [edi + 0xbc], 0
call fcn.0045ced0
add esp, 8
jmp 0x463e68
mov eax, dword [ebp + 0x90]
push str.close
push 0x4bb7fc
push eax
call fcn.00472830
add esp, 0xc
test al, al
je 0x46413f
mov byte [edi + 0xbc], 1
jmp 0x463e68
mov ecx, dword [ebp + 0x90]
push str.chunked
push 0x4bb7b8
push ecx
call fcn.00472830
add esp, 0xc
test al, al
je 0x464171
push edi
mov byte [edi + 0xbe], 1
call fcn.00476530
add esp, 4
jmp 0x463e68
mov edx, dword [ebp + 0x90]
push 8
push edx
push str.Trailer:
call fcn.0045e770
add esp, 0xc
test eax, eax
jne 0x4645cd
mov eax, dword [ebp + 0x90]
push 9
push eax
push str.Trailers:
call fcn.0045e770
add esp, 0xc
test eax, eax
jne 0x4645cd
mov ecx, dword [ebp + 0x90]
push 0x11
push ecx
push str.Content_Encoding:
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x4642d7
mov eax, dword [ebp + 0x168]
test eax, eax
je 0x4642d7
mov esi, dword [ebp + 0x90]
add esi, 0x11
mov al, byte [esi]
test al, al
je 0x464220
cmp dword [0x4b54f8], 1
jle 0x464203
and eax, 0xff
push 8
push eax
call fcn.0043056d
add esp, 8
jmp 0x464214
mov edx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
je 0x464220
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4641e8
push 8
push esi
push str.identity
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x464243
mov dword [ebp + 0xb4], 0
jmp 0x463e68
push 7
push esi
push str.deflate
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x464266
mov dword [ebp + 0xb4], 1
jmp 0x463e68
push 4
push esi
push str.gzip
call fcn.0045e770
add esp, 0xc
test eax, eax
jne 0x4642c8
push 6
push esi
push str.x_gzip
call fcn.0045e770
add esp, 0xc
test eax, eax
jne 0x4642c8
push 8
push esi
push str.compress
call fcn.0045e770
add esp, 0xc
test eax, eax
jne 0x4642b9
push ebx
push esi
push str.x_compress
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x463e68
mov dword [ebp + 0xb4], 3
jmp 0x463e68
mov dword [ebp + 0xb4], 2
jmp 0x463e68
mov eax, dword [ebp + 0x90]
push 0xe
push eax
push str.Content_Range:
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x464388
mov esi, dword [ebp + 0x90]
add esi, 0xe
mov al, byte [esi]
test al, al
je 0x46433c
cmp dword [0x4b54f8], 1
jle 0x46431f
and eax, 0xff
push 4
push eax
call fcn.0043056d
add esp, 8
jmp 0x464330
mov ecx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
jne 0x46433c
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x464304
push ebx
push 0
push esi
call fcn.0045ee40
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 0x463e68
mov eax, dword [ebp + 0x10c]
mov ecx, dword [ebp + 0x9c]
cmp eax, ecx
jne 0x463e68
mov byte [ebp + 0x94], 1
jmp 0x463e68
mov eax, dword [ebp + 0x31c]
test eax, eax
je 0x4643f4
mov ecx, dword [ebp + 0x90]
push 0xb
push ecx
push str.Set_Cookie:
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x4643f4
push 2
push 2
push ebp
call fcn.00468960
mov eax, dword [edi + 0x124]
add esp, 0xc
test eax, eax
jne 0x4643c6
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.004669d0
push 2
push ebp
call fcn.004689b0
add esp, 0x20
jmp 0x463e68
mov edx, dword [ebp + 0x90]
push 0xe
push edx
push str.Last_Modified:
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x464463
mov eax, dword [ebp + 0x23c]
test eax, eax
jne 0x464422
mov al, byte [ebp + 0x2bd]
test al, al
je 0x464463
push 0
call fcn.0042c4ff
mov ecx, dword [ebp + 0x90]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
add ecx, 0xe
push eax
push ecx
call fcn.0045e880
mov dword [ebp + 0xb8], eax
mov cl, byte [ebp + 0x2bd]
add esp, 0xc
test cl, cl
je 0x463e68
mov dword [ebp + 0x8504], eax
jmp 0x463e68
mov edx, dword [ebp + 0x90]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x46448a
mov eax, dword [ebp + 0xa0]
cmp eax, 0x191
je 0x4644b1
mov eax, dword [ebp + 0x90]
push 0x13
push eax
push str.Proxy_authenticate:
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x4644cf
mov eax, dword [ebp + 0xa0]
cmp eax, 0x197
jne 0x4644cf
mov ecx, dword [ebp + 0x90]
push ecx
push eax
push edi
call fcn.00472650
add esp, 0xc
test eax, eax
jne 0x4652bc
jmp 0x463e68
mov eax, dword [ebp + 0xa0]
cmp eax, 0x12c
jl 0x463e68
cmp eax, 0x190
jge 0x463e68
mov edx, dword [ebp + 0x90]
push 9
push edx
push 0x4bb708
call fcn.0045e770
add esp, 0xc
test eax, eax
je 0x463e68
mov al, byte [ebp + 0x2c6]
test al, al
je 0x463e68
mov edi, dword [ebp + 0x90]
mov ebx, 1
add edi, 9
mov al, byte [edi]
test al, al
je 0x464562
cmp dword [0x4b54f8], ebx
jle 0x464545
and eax, 0xff
push 8
push eax
call fcn.0043056d
add esp, 8
jmp 0x464556
mov ecx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x464562
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x46452b
mov esi, dword [ebp + 0x8c]
dec esi
cmp esi, edi
jb 0x46459f
cmp dword [0x4b54f8], ebx
jle 0x464586
xor edx, edx
push 8
mov dl, byte [esi]
push edx
call fcn.0043056d
add esp, 8
jmp 0x464596
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 0x46459f
dec esi
cmp esi, edi
jae 0x46456d
mov bl, byte [esi + 1]
inc esi
cmp esi, edi
je 0x463e64
push edi
mov byte [esi], 0
call dword [0x4ba960]
mov dword [ebp + 0x20], eax
mov byte [esi], bl
mov eax, dword [ebp + 0x20]
add esp, 4
test eax, eax
je 0x4650f6
jmp 0x463e64
mov byte [edi + 0xd4], 1
jmp 0x463e68
cmp cl, 0xd
jne 0x4645e5
inc eax
mov dword [ebp + 0x90], eax
mov eax, dword [ebp + 0x90]
cmp byte [eax], 0xa
jne 0x4645f7
inc eax
mov dword [ebp + 0x90], eax
cmp dword [ebp + 0xa0], 0x64
jne 0x46462c
mov al, byte [ebp + 0xb0]
mov byte [ebp + 0x70], 1
test al, al
mov dword [ebp + 0x78], 0
je 0x46465c
mov eax, dword [ebp + 0xcc]
mov byte [ebp + 0xb0], 0
or al, 2
mov dword [ebp + 0xcc], eax
jmp 0x46465c
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
and eax, edx
mov byte [ebp + 0x70], 0
cmp eax, 0xffffffff
jne 0x46465c
mov eax, dword [esp + 0x3c]
mov cl, byte [eax + 0xbe]
test cl, cl
jne 0x46465c
mov cl, byte [eax + 0xbc]
test cl, cl
jne 0x46465c
mov byte [eax + 0xcc], 1
cmp dword [ebp + 0xa0], 0x1a1
jne 0x46467d
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.00472790
add esp, 4
test eax, eax
jne 0x46502b
mov al, byte [ebp + 0x2c8]
mov ecx, 2
test al, al
je 0x4646a6
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.0045d180
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4652bc
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 0x464724
cmp dword [ebp + 0x244], 1
jne 0x464724
cmp dword [ebp + 0xa0], 0x1a0
jne 0x464724
mov byte [esp + 0x12], 1
jmp 0x46475f
push edi
call fcn.004722f0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4652bc
mov al, byte [edi + 0xd0]
test al, al
je 0x46475f
push str.Keep_sending_data_to_get_tossed_away__n
push ebp
call fcn.0045ced0
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 0x4648b6
mov eax, dword [ebp + 0x42c]
mov dword [ebp + 0x80], 0
mov dword [ebp + 0x7c], eax
mov al, byte [esp + 0x12]
test al, al
jne 0x464cd5
mov eax, dword [ebp + 0x84]
cmp byte [eax], 0
je 0x464955
mov dword [ebp + 0x88], eax
mov ecx, dword [esp + 0x14]
push ecx
push 0xa
push eax
call fcn.0042c5e0
add esp, 0xc
mov dword [ebp + 0x8c], eax
test eax, eax
jne 0x463b74
mov edx, dword [ebp + 0x80]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x430]
add eax, edx
cmp eax, ecx
jb 0x46480f
lea eax, [eax + eax*2]
lea edi, [ecx + ecx]
shr eax, 1
cmp eax, edi
jbe 0x4647e0
mov edi, eax
mov eax, dword [ebp + 0x42c]
mov esi, dword [ebp + 0x7c]
push edi
push eax
sub esi, eax
call dword [0x4ba95c]
add esp, 8
test eax, eax
je 0x464fd3
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 0x464955
cmp eax, 5
jbe 0x464955
mov edx, dword [ebp + 0x42c]
push edx
push ebp
call fcn.004652d0
add esp, 8
test al, al
jne 0x464955
mov byte [ebp + 0x70], al
mov dword [ebp + 0x74], 2
jmp 0x464955
mov byte [ebp + 0x70], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46489d
mov dword [ebp + 0x74], 1
jmp 0x464949
mov dword [ebp + 0x74], 2
mov dword [esp + 0x14], ebx
jmp 0x464949
mov byte [ebp + 0x70], 0
jmp 0x464949
mov al, byte [edi + 0xcc]
test al, al
je 0x4648c7
mov byte [esp + 0x12], 1
jmp 0x4648da
mov al, byte [edi + 0xbe]
test al, al
je 0x4648da
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 0x4648e9
cmp ecx, eax
je 0x464900
push ecx
push eax
push ebp
call fcn.0046a000
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 0x464915
mov eax, dword [ebp + 0x3c]
test eax, eax
jne 0x464915
mov byte [esp + 0x12], 1
jmp 0x46491d
mov al, byte [esp + 0x12]
test al, al
je 0x46492b
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
mov al, byte [ebp + 0x2d8]
test al, al
je 0x464949
mov edx, dword [ebp + 0x88]
push edi
push esi
push edx
push 1
push ebp
call fcn.0045d3d0
add esp, 0x14
mov al, byte [esp + 0x12]
test al, al
jne 0x464cd5
mov eax, dword [ebp + 0x84]
test eax, eax
je 0x464c91
mov al, byte [ebp + 0x70]
test al, al
jne 0x464c91
mov eax, dword [esp + 0x14]
test eax, eax
jg 0x464982
mov al, byte [esp + 0x13]
test al, al
je 0x464cad
mov eax, dword [ebp + 0xbc]
test eax, eax
jne 0x464a46
mov al, byte [esp + 0x13]
test al, al
jne 0x464a46
mov edi, dword [esp + 0x3c]
test byte [edi + 0xc], 4
je 0x464a4a
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4649d4
mov al, byte [edi + 0xbc]
test al, al
jne 0x465034
push str.Ignoring_the_response_body_n
push ebp
mov byte [ebp + 0xd1], 1
call fcn.0045ced0
add esp, 8
mov eax, dword [ebp + 0x108]
mov ecx, dword [ebp + 0x10c]
or eax, ecx
je 0x464a05
mov al, byte [ebp + 0x94]
test al, al
jne 0x464a05
cmp dword [ebp + 0x244], 1
jne 0x464a05
mov al, byte [ebp + 0xd1]
test al, al
je 0x465053
mov eax, dword [ebp + 0x23c]
test eax, eax
je 0x464a4a
mov ecx, dword [ebp + 0x100]
test ecx, ecx
jne 0x464a4a
mov edx, dword [ebp + 0xb8]
test edx, edx
jle 0x464a4a
mov ecx, dword [ebp + 0x240]
test ecx, ecx
jle 0x464a4a
sub eax, 2
je 0x464a3c
cmp edx, ecx
jl 0x46506e
jmp 0x464a4a
cmp edx, ecx
jg 0x46508d
jmp 0x464a4a
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 0x464ab0
mov eax, dword [ebp + 0x74]
push edi
test eax, eax
je 0x464a99
mov ecx, dword [ebp + 0x80]
mov edx, dword [ebp + 0x42c]
push ecx
push edx
push 3
push ebp
call fcn.0045d3d0
mov eax, dword [ebp + 0x74]
add esp, 0x14
cmp eax, 1
jne 0x464ab0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x84]
push edi
push eax
push ecx
jmp 0x464aa5
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x84]
push edx
push eax
push 3
push ebp
call fcn.0045d3d0
add esp, 0x14
mov al, byte [edi + 0xbe]
test al, al
je 0x464b15
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x84]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
push edi
call fcn.00476550
add esp, 0x10
test eax, eax
jg 0x4650ac
cmp eax, 0xffffffff
jne 0x464b15
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 0x464b15
mov edx, dword [edi]
push esi
push str.Leftovers_after_chunking.__Rewinding__d_bytes_n
push edx
call fcn.0045ced0
push esi
push edi
call fcn.00465350
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 0x464b30
cmp esi, eax
je 0x464c4c
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 0x464bca
jg 0x464b51
cmp eax, dword [esp + 0x30]
jb 0x464bca
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x48]
mov esi, ecx
sub esi, edx
add esi, eax
je 0x464ba2
mov al, byte [ebp + 0xd1]
test al, al
jne 0x464ba2
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.0045ced0
mov ecx, dword [esp + 0x68]
push esi
push ecx
call fcn.00465350
add esp, 0x34
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x48]
sub edx, eax
mov dword [esp + 0x14], edx
jns 0x464bb8
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.00469fc0
mov al, byte [edi + 0xbe]
add esp, 0xc
test al, al
jne 0x464c95
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x464c18
mov eax, dword [ebp + 0x74]
test eax, eax
jne 0x464c1f
mov al, byte [esp + 0x13]
test al, al
je 0x464cb1
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x464c55
mov al, byte [ebp + 0xd1]
test al, al
jne 0x464c55
mov edx, dword [ebp + 0x80]
mov eax, dword [ebp + 0x42c]
push edx
push eax
push 1
push edi
call fcn.0045d180
add esp, 0x10
test eax, eax
jne 0x4652bc
jmp 0x464c59
mov ecx, dword [esp + 0x14]
jmp 0x464bce
mov eax, dword [esp + 0x1c]
cmp dword [ebp + 0x74], 2
jge 0x464c80
mov cl, byte [ebp + 0xd1]
test cl, cl
jne 0x464c80
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x84]
push ecx
push edx
push 1
push edi
call fcn.0045d180
add esp, 0x10
test eax, eax
mov dword [ebp + 0x74], 0
jne 0x4652bc
jmp 0x464c95
mov edi, dword [esp + 0x3c]
mov al, byte [esp + 0x13]
test al, al
je 0x464cb1
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
jmp 0x464cb1
mov edi, dword [esp + 0x3c]
push edi
call fcn.00465330
add esp, 4
test eax, eax
je 0x464cd5
mov edi, dword [esp + 0x3c]
jmp 0x463a51
mov eax, dword [ebp + 0xcc]
and al, 0xfe
mov dword [ebp + 0xcc], eax
test byte [ebp + 0xcc], 2
je 0x464f8b
test byte [esp + 0x2c], 2
je 0x464f8b
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
or eax, ecx
jne 0x464d0c
mov ecx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x54]
or ecx, eax
jne 0x464d0c
push 4
push ebp
call fcn.00469e70
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 0x464e56
mov edx, dword [ebp + 0xc4]
mov dword [ebp + 0xdc], edx
mov cl, byte [ebp + 0xd0]
test cl, cl
jne 0x464f17
mov cl, byte [ebp + 0xb1]
test cl, cl
je 0x464d5c
mov ecx, dword [ebp + 0x110]
cmp dword [ecx + 0x78], eax
je 0x464f4f
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x2c]
push edx
push 0x4000
push edi
call fcn.00463820
add esp, 0xc
test eax, eax
jne 0x4652bc
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x14], eax
jle 0x464f23
mov dword [ebp + 0xd8], eax
mov al, byte [ebp + 0x215]
test al, al
je 0x464e5a
mov eax, dword [ebp + 0x8450]
test eax, eax
jne 0x464dc5
push 0x8000
call dword [0x4ba954]
add esp, 4
mov dword [ebp + 0x8450], eax
test eax, eax
je 0x4650e8
mov ecx, dword [esp + 0x14]
xor edx, edx
xor eax, eax
test ecx, ecx
jle 0x464e36
mov esi, 1
mov ecx, dword [ebp + 0xdc]
mov cl, byte [ecx + edx]
cmp cl, 0xa
jne 0x464e23
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 0x464e2c
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 0x464e2c
mov ebx, dword [ebp + 0x8450]
mov byte [ebx + eax], cl
mov ecx, dword [esp + 0x14]
inc edx
inc eax
cmp edx, ecx
jl 0x464dd6
cmp eax, ecx
je 0x464e5a
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 0x464e5a
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.0045d090
add esp, 0x14
test eax, eax
jne 0x4652bc
mov al, byte [ebp + 0x2d8]
test al, al
je 0x464ea7
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0xdc]
push edi
push edx
push eax
push 4
push ebp
call fcn.0045d3d0
add esp, 0x14
mov ecx, dword [ebp + 0xd8]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
je 0x464ecd
sub ecx, eax
mov dword [ebp + 0xd8], ecx
mov ecx, dword [ebp + 0xdc]
add ecx, eax
mov dword [ebp + 0xdc], ecx
jmp 0x464ef4
mov ecx, dword [ebp + 0xc4]
mov dword [ebp + 0xd8], 0
mov dword [ebp + 0xdc], ecx
mov cl, byte [ebp + 0xd0]
test cl, cl
je 0x464ef4
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.00469fe0
add esp, 0xc
jmp 0x464f8f
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 0x464f8f
push edi
call fcn.00463910
add esp, 4
test eax, eax
jne 0x4652bc
jmp 0x464f8f
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.00469d60
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.00469d60
mov dword [ebp + 0x68], eax
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [ebp + 0x6c], edx
je 0x465103
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x464fb8
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 0x465147
mov ecx, dword [ebp + 0x50]
mov dword [eax], ecx
mov edx, dword [ebp + 0x54]
mov dword [eax + 4], edx
jmp 0x465147
push str.Failed_to_alloc_memory_for_big_header_
push ebp
call fcn.0045cf40
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.0045cf40
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.0045cf40
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 0x464ff5
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.0045cf40
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.0045ced0
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.0045ced0
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 0x4650cc
push str.Failed_writing_data
push ebp
call fcn.0045cf40
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.0045cf40
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.0045cf40
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 0x465147
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.00469d80
add esp, 0x10
cmp eax, 0x3e8
jle 0x465147
mov eax, dword [ebp + 0xcc]
mov byte [ebp + 0xb0], 0
or al, 2
mov dword [ebp + 0xcc], eax
push edi
call fcn.0046a080
add esp, 4
test eax, eax
je 0x465161
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.00476420
add esp, 0xc
test eax, eax
jne 0x4652bc
mov eax, dword [ebp + 0x1bc]
test eax, eax
je 0x4651fb
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.00469d80
add esp, 0x10
cmp eax, esi
jl 0x4651fb
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4651d7
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.0045cf40
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.0045cf40
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 0x4652a6
mov bl, byte [edi + 0xcc]
test bl, bl
jne 0x46528c
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x2c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x465257
mov edx, dword [ebp + 0x48]
mov esi, dword [ebp + 0x4c]
cmp edx, eax
jne 0x465230
cmp esi, ecx
je 0x465257
cmp dword [ebp + 0x20], 0
jne 0x465257
sub eax, edx
sbb ecx, esi
push ecx
push eax
push str.transfer_closed_with__lld_bytes_remaining_to_read
push ebp
call fcn.0045cf40
add esp, 0x10
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
test bl, bl
jne 0x46528c
mov al, byte [edi + 0xbe]
test al, al
je 0x46528c
mov eax, dword [ebp + 0x110]
cmp dword [eax + 0x54], 8
je 0x46528c
push str.transfer_closed_with_outstanding_read_data_remaining
push ebp
call fcn.0045cf40
add esp, 8
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push edi
call fcn.0046a080
add esp, 4
test eax, eax
je 0x4652a6
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