Function at 0x668a60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
push esi
mov esi, dword [esp + 0x6c]
xor ebp, ebp
mov edx, dword [ebx + 0x234]
push edi
mov edi, dword [ebx + 0x230]
mov eax, edi
or eax, edx
mov dword [esp + 0x24], ebp
mov byte [esp + 0x12], 0
mov dword [esp + 0x34], 0x64
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edx
jne 0x668aac
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], 0x7fffffff
mov eax, dword [ebx + 0x8c8]
lea ecx, [esi + 0xc2]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], ecx
mov byte [eax], 0
mov eax, dword [esp + 0x7c]
mov byte [eax], 0
lea eax, [esi + 0x10]
mov edi, dword [esi + 4]
mov edx, dword [ebx + 0x4b8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esi]
mov dword [esp + 0x28], eax
mov eax, ecx
and eax, edi
cmp eax, 0xffffffff
je 0x668b0f
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0
jne 0x668b0f
mov eax, dword [esp + 0x28]
sub ecx, dword [eax]
sbb edi, dword [eax + 4]
test edi, edi
jg 0x668b0f
jl 0x668b0d
cmp ecx, edx
jae 0x668b0f
mov edx, ecx
mov edi, dword [esp + 0x6c]
test edx, edx
je 0x668b4a
mov ebp, dword [esp + 0x30]
lea eax, [esp + 0x14]
push eax
push edx
push ebp
push dword [edi + 0x200]
push ebx
call fcn.00661680
mov ebp, eax
add esp, 0x14
cmp ebp, 0x51
je 0x669049
test ebp, ebp
jg 0x66918d
mov ecx, dword [esp + 0x14]
jmp 0x668b50
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
or eax, dword [edx + 4]
jne 0x668b89
push 7
lea eax, [esp + 0x48]
push ebx
push eax
call fcn.006718b0
add esp, 0xc
cmp dword [esi + 0x78], 0
jle 0x668b85
lea eax, [esp + 0x54]
push eax
call fcn.00655dc0
add esp, 4
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x68], xmm0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
or dword [eax], 1
test ecx, ecx
jne 0x668ba0
cmp dword [esi + 0x90], ecx
jne 0x668ba0
mov al, 1
jmp 0x668ba2
xor al, al
mov byte [esp + 0x11], al
test ecx, ecx
jg 0x668bb2
test al, al
je 0x669050
mov eax, dword [esp + 0x30]
mov byte [ecx + eax], 0
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x1e8]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x668bef
lea ecx, [esp + 0x12]
push ecx
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x66918d
cmp byte [esp + 0x12], al
jne 0x669143
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
cmp byte [eax], 0
je 0x668c80
lea eax, [esp + 0x13]
mov byte [esp + 0x13], 0
push eax
lea eax, [esp + 0x18]
push eax
push edi
push ebx
call fcn.0066e9c0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x66918d
mov eax, dword [edi + 0x1e8]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x668c68
cmp dword [esi + 0xc], ebp
jg 0x668c68
jl 0x668c3c
cmp dword [esi + 8], ebp
ja 0x668c68
cmp dword [esp + 0x14], 0
jle 0x668c68
lea ecx, [esp + 0x12]
push ecx
lea ecx, [esp + 0x18]
push ecx
push edi
push ebx
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x66918d
cmp byte [esp + 0x12], al
jne 0x669143
cmp byte [esp + 0x13], 0
jne 0x669059
mov eax, dword [esp + 0x38]
cmp byte [eax], 0
jne 0x668fa1
cmp dword [esp + 0x14], 0
mov cl, byte [esp + 0x11]
jg 0x668c93
test cl, cl
je 0x668fa5
cmp byte [ebx + 0x154], 0
jne 0x6690c4
cmp dword [esi + 0x90], 0
jne 0x668ce1
test cl, cl
jne 0x668ce1
mov eax, dword [edi + 0x1e8]
test dword [eax + 0x44], 0x40003
je 0x668ce1
push dword [esp + 0x78]
push edi
push ebx
call fcn.0066d900
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x66918d
mov eax, dword [esp + 0x78]
cmp byte [eax], 0
jne 0x66918d
inc dword [esi + 0x90]
cmp byte [ebx + 0x6db], 0
je 0x668d4e
cmp dword [esi + 0x48], 0
je 0x668d3c
lea edi, [ebx + 0x8b8]
push edi
call fcn.006568a0
add esp, 4
push eax
push edi
call fcn.006568b0
add esp, 4
push eax
push 3
push ebx
call fcn.00661470
add esp, 0x10
cmp dword [esi + 0x48], 1
jne 0x668d36
push dword [esp + 0x14]
push dword [esi + 0x50]
push 3
push ebx
call fcn.00661470
mov edi, dword [esp + 0x7c]
jmp 0x668d4b
mov edi, dword [esp + 0x6c]
jmp 0x668d4e
push dword [esp + 0x14]
push dword [esi + 0x50]
push 3
push ebx
call fcn.00661470
add esp, 0x10
cmp byte [esi + 0xc7], 0
je 0x668d9e
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
push dword [esi + 0x50]
push ebx
call fcn.00693bc0
add esp, 0x14
test eax, eax
jg 0x66907f
cmp eax, 0xffffffff
jne 0x668d9e
and dword [esi + 0x64], 0xfffffffe
mov edx, dword [edi + 0x10]
mov eax, edx
mov ecx, dword [edi + 0x14]
or eax, ecx
je 0x668d9e
push ecx
push edx
push str.Leftovers_after_chunking:___I64du_bytes
push ebx
call fcn.006615e0
add esp, 0x10
cmp dword [esi + 0x48], 1
jne 0x668dc6
cmp byte [esi + 0xc5], 0
jne 0x668dc6
lea eax, [ebx + 0x8b8]
push eax
call fcn.006568a0
mov edx, dword [esp + 0x1c]
add esp, 4
add dword [edx], eax
adc dword [edx + 4], 0
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
cmp ecx, 0xffffffff
jne 0x668dd9
cmp edi, ecx
je 0x668e5c
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cdq
add eax, dword [ebx]
adc edx, dword [ebx + 4]
mov ebx, dword [esp + 0x68]
cmp edx, edi
jl 0x668e5c
jg 0x668df5
cmp eax, ecx
jb 0x668e5c
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov esi, eax
sub esi, ecx
add esi, dword [esp + 0x14]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x70]
je 0x668e41
cmp byte [esi + 0xc5], 0
jne 0x668e41
push dword [edx + 4]
push eax
push edi
push ecx
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x3c]
push str.Excess_found_in_a_read:_excess___zu__size___I64d__maxdownload___I64d__bytecount___I64d
push ebx
call fcn.006615e0
push 1
push dword [esp + 0x94]
call fcn.006622c0
add esp, 0x2c
mov ecx, dword [esp + 0x18]
mov edx, 0
mov eax, dword [esi + 8]
sub eax, dword [ecx]
cmovs eax, edx
and dword [esi + 0x64], 0xfffffffe
mov dword [esp + 0x14], eax
jmp 0x668e60
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
push dword [ecx + 4]
sub dword [esp + 0x24], eax
push dword [ecx]
sbb dword [esp + 0x24], edx
push ebx
call fcn.00671610
add esp, 0xc
cmp byte [esi + 0xc7], 0
jne 0x668f9d
cmp dword [esp + 0x14], 0
jne 0x668ea6
cmp dword [esi + 0x48], 0
jne 0x668eac
mov cl, byte [esp + 0x11]
test cl, cl
je 0x668f97
cmp dword [esi + 0x48], 0
je 0x668efe
cmp byte [esi + 0xc5], 0
jne 0x668efe
lea ebp, [ebx + 0x8b8]
push ebp
call fcn.006568a0
mov edi, dword [esi + 8]
add esp, 4
mov edx, dword [esi + 0xc]
mov ecx, edi
and ecx, edx
cmp ecx, 0xffffffff
je 0x668edf
xor ecx, ecx
cmp ecx, edx
jl 0x668edf
jg 0x668ee1
cmp eax, edi
ja 0x668ee1
mov edi, eax
push ebp
call fcn.006568b0
push edi
push eax
push 1
push ebx
call fcn.00661670
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x66918d
cmp dword [esi + 0x48], 2
jge 0x668f38
cmp byte [ebx + 0x6e3], 0
jne 0x668f4d
mov eax, dword [esi + 0x80]
test eax, eax
je 0x668f4d
cmp byte [esi + 0xc5], 0
jne 0x668f38
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x668f38
push ecx
push dword [esi + 0x50]
push eax
push ebx
call fcn.00665ae0
add esp, 0x10
mov ebp, eax
mov edi, dword [esp + 0x6c]
mov dword [esi + 0x48], 0
test ebp, ebp
jne 0x66918d
jmp 0x668fa1
cmp byte [esi + 0xc5], 0
jne 0x668f38
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x6c]
test ecx, ecx
je 0x668f3c
mov eax, dword [edi + 0x1e8]
mov edx, dword [esi + 0x50]
test dword [eax + 0x44], 0xc000
je 0x668f83
push ecx
push edx
push ebx
call fcn.0067bf80
add esp, 0xc
mov ebp, eax
jmp 0x668f3c
push dword [esp + 0x14]
push edx
push 1
push ebx
call fcn.00661670
add esp, 0x10
mov ebp, eax
jmp 0x668f3c
mov edi, dword [esp + 0x6c]
jmp 0x668fa5
mov edi, dword [esp + 0x6c]
mov cl, byte [esp + 0x11]
mov eax, dword [edi + 0x1e8]
cmp dword [eax + 0x34], 0
je 0x668fbd
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x6690e8
test cl, cl
je 0x668fc5
and dword [esi + 0x64], 0xfffffffe
mov eax, dword [esi + 0x64]
test al, 0x10
jne 0x669143
test al, 1
je 0x669143
cmp dword [esp + 0x1c], 0
jl 0x669143
jg 0x668ff0
cmp dword [esp + 0x20], 0
jbe 0x669143
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x1e8]
mov eax, dword [eax + 0x44]
test al, 0xc
je 0x669012
push 1
push ebx
call fcn.00660de0
movzx eax, al
add esp, 8
test eax, eax
jmp 0x669023
test al, 0x30
jne 0x669029
push 0
push ebx
call fcn.00660de0
add esp, 8
test al, al
je 0x669143
mov ecx, dword [esp + 0x34]
mov eax, ecx
dec ecx
mov dword [esp + 0x34], ecx
test eax, eax
je 0x669143
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x668ad1
xor ebp, ebp
jmp 0x669143
and dword [esi + 0x64], 0xfffffffe
jmp 0x669143
mov ecx, dword [esp + 0x14]
test ecx, ecx
jle 0x669143
push dword [ebx + 0xcbc]
push ecx
push str.Excess_found:_excess___zd_url___s__zero_length_body_
push ebx
call fcn.006615e0
add esp, 0x10
jmp 0x669143
cmp eax, 6
jne 0x6690a0
push str.Failed_reading_the_chunked_encoded_stream
push ebx
call fcn.00661510
mov ebp, dword [esp + 0x48]
add esp, 8
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
push eax
call fcn.00693b30
push eax
push str._s_in_chunked_encoding
push ebx
call fcn.00661510
add esp, 0x10
mov ebp, 0x38
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
push 2
push edi
call fcn.006622c0
mov eax, dword [esp + 0x80]
add esp, 8
mov ebp, 8
pop edi
pop esi
mov byte [eax], 1
mov eax, ebp
pop ebp
pop ebx
add esp, 0x54
ret
mov edx, dword [esi + 0x50]
add edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
add eax, edx
mov dword [esi + 0x50], edx
mov edi, dword [ebx + 0x4b8]
lea ecx, [edi + ebp]
cmp eax, ecx
jbe 0x66910d
mov eax, edi
sub eax, edx
add eax, ebp
jmp 0x669111
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x6c]
lea ecx, [esp + 0x12]
push ecx
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
push ecx
mov eax, dword [edi + 0x1e8]
push edi
push ebx
mov eax, dword [eax + 0x34]
call eax
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x66918d
cmp byte [esp + 0x12], al
je 0x669143
or dword [esi + 0x64], 1
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x66915b
cmp dword [esp + 0x1c], 0
jg 0x669169
jl 0x66915b
cmp dword [esp + 0x20], 0
ja 0x669169
mov eax, dword [esp + 0x7c]
mov byte [ebx + 0xd67], 1
mov byte [eax], 1
mov eax, dword [esi + 0x64]
and al, 3
cmp al, 2
jne 0x66918d
cmp byte [edi + 0x1ce], 0
je 0x66918d
push str.we_are_done_reading_and_this_is_set_to_close__stop_send
push ebx
call fcn.006615e0
add esp, 8
and dword [esi + 0x64], 0xfffffffd
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x54
ret